一个c语言题:以下函数的类型是: fff(float x) {printf("%d\n",x)} 答案为什么是int而不是void

《全国计算机等级考试二级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,那是为虾米呢?还望不吝赐教
最新回答
忆海

2025-06-27 14:12:57

是C的
当没有任何返回类型的时候,
返回值
默认为int型。
至于2 3, 只是推荐这样做,并不是强制的。
当没有返回值,或者没有return类型时,这时如果是int,实际的返回值是一个随机值,类似于局部变量未初始化。