C语言中函数返回值的类型是由() 决定?为什么选A,而不选B?

A.函数定义时指定的类型
B.return语句中的表达式类型
C.调用该函数时的实参的数据类型
D.形参的数据类型

比如一个求最大值函数定义的时候我这样定义
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是看函数类型。所以其他都不对
温馨提示:答案为网友推荐,仅供参考