C语言程序找错

来源:百度知道 编辑:UC知道 时间:2024/05/15 04:45:41
#include <stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return (z);
}
为什么结果都是max=a的值,我在程序框输入2,5 得到的结果却是max=2,谁能高诉我问题出在哪?

你自己再重新试一下,我帮你运行了一下,没错啊,下面是我运行结果的截图。还有就是,如果你对函数调用的实参和形参掌握的不是太好的话,建议用指针,不知道你学过了没有,有什么问题还可以问我

看不出什么错误,把main函数中的int max(int x,int y);放到main函数前面试试...

问题在scanf("%d,%d",&a,&b);时,规定在a,b之间有个逗号,所以,每次你都没有读入b。改成scanf("%d %d",&a,&b);就可以了。