看一下这个c语言问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:10:16
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
}
int max(int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return(z);
}
这个程序错在哪里呢?我是完全仿照教材中的例子,怎么就错了了?

int max(int x,int y) 这里括号里面只有两个变量
但是d=max(a,b,c);括号里面有3个。你的子程序max只能找出两个数字里面大的一个,不能找3个的。

1,max函数最好在主函数外声明。
2,max函数参数调用时与声明时不一致。
函数用来查找2个数中比较大的那个数字,而调用的时候是希望用来查找3个数字中比较大的数字。

d=max(a,b,c);你搞错没有?你明明定义了int max(int x,int y),也就是说前后要对应。括号中只有两个变量,你却输了三个,不错才怪。