求教C的小问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:55:20
main()
{
float a,b,c,ave;
scanf("%f%f%f",&a,&b,&c);
ave=average(a,b,c);
printf("average=%f",ave);
}
float average(x,y,z)
float x,y,z;
{
float aver;
aver=(x+y+z)/3;
return(aver);
}
这段代码什么地方有问题?解释一下>
请解释的详细点

LS说一堆什么呀,谁说 "/"算出来一定是int的……/算的结果类型看你参加运算的操作数类型而定,以最高的为标准。
就是少了个函数声明而已,没什么大错误,在main()前面加句
float average(x,y,z);就行了
不过这种声明方式是老式的,你还是用
float average(float x, float y, float z);

把下面的
float average(x,y,z)
float x,y,z;
也改成
float average(float x, float y, float z)

同意二楼

楼上的不知道不要瞎说`````float average(x,y,z)没声明也可以用````
```因为在main函数遇到ave=average(a,b,c); 是,就已经自动声明了。
``只是不提倡这种方式。

楼上的说的看来很有道理,不过还是自己调试一下,看是什么错误了.也不一定准哦,int可以不写的,因为默认的就是整型的.

同意 湛蓝水晶 的观点

同意楼上的观点