C语言函数返回值是由定义函数时所定义的函数的类型决定的。
也就是说你的函数是什么类型,返回值就是什么类型。
比如:
函数定义 int fun(int a,char b)
返回值就是整型
函数定义 int *fun(int a)
返回值就是基类型为整型的指针
函数定义 void fun(int a)
无返回值
return语句的表达式能转换成函数定义类型,则返回函数定义类型,否则将warning
比如:
int fun(int a)
{
float a=1.5;
return a;//warning C4244: 'return' : conversion from 'float ' to 'int ', possible loss of data
}
这时实际上返回的是1而不是1.5
int hello(){
char a='a';
return a; //返回的是 97
}
char hello(){
int a=97;
return a; //返回的是 a
}
但是这样你又看不出来。如果学过c++的话用cout<
#include
using namespace std;
int hello1(){
char a='a';
return a; //返回的是 97
}
char hello2(){
int a=97;
return a; //返回的是 a
}
int main(){
cout<
return 0;
}
比如一个求最大值函数定义的时候我这样定义
int max(float a, float b){
float larger;
a > b ? larger = a : larger = b;
return larger;
}
假如我给参数 a = 2.6 b = 2.8
那么larger = 2.8
但是函数的返回值类型看的只能是函数类型, 这样最后返回的只是2而已 , 尽管larger是2.8, 由于函数max的类型是int , 被强制截断成了2
题目四个选项里面只有A是看函数类型。所以其他都不对
double func()
{
return 1;
}