《全国计算机等级考试二级C语言教程》里遇到这个题目,已定义了以下函数:fff(float x) { printf("%d\n",x*x); }该函数的类型是A、与x类型相同 B、void类型 C、int类型 D、无法确定课文中有以下几句话:(1)若在函数的首部省略了函数返回值的类型名,则默认函数返回值的类型为int类型。(2)若函数只是用于完成某些操作,没有函数值返回,则必须把函数定义成void类型。(3)函数体内可以没有return语句,这是必须定义函数为void类型。根据第一句,是选int,但根据第二三句,又是void,答案是int,那是为虾米呢?还望不吝赐教
是C的当没有任何返回类型的时候,返回值默认为int型。至于2 3, 只是推荐这样做,并不是强制的。当没有返回值,或者没有return类型时,这时如果是int,实际的返回值是一个随机值,类似于局部变量未初始化。