给程序代码判断函数值的类型

img


这是怎么判断的呀,有点不明白,在一个函数里给一个变量定义过之后,他的类型不管进行何种运算都不发生改变吗?

选 A , y 定义的是 int 类型, x虽然是 float 类型,并且3 * x - 1 的结果也是 float类型,但 因为 y 是 int类型,最终结果会 舍弃小数位赋值给 y,精度丢失。

1、C语言里,定义函数一般形式如:函数类型 函数名(参数类型1 参数名1, 参数类型2 参数名2, …, 参数类型n 参数名n) {...} 。C语言允许函数值类型缺省定义,此时该函数值隐含的类型是int,所以题目里fun() 函数类型就是隐含的 int 类型。
2、C语言函数返回值是由定义函数时所定义的函数类型决定的。也就是说,函数是什么类型,返回值就是什么类型。所以,题目里函数隐含类型为 int ,那么return语句的表达式能转换成函数定义类型,则返回函数定义类型,否则将出错。
3、以上两条,所以答案选 A.