编译你的程序运行正常呀,例如
$ ./a.exe
31415,33333
max=33333
$ ./a.exe
3333,3142
max=3333
我估计你输入数据的格式没注意的可能性比较大,碰到这种问题加一句printf 显示一下实际的a,b值往往对解决问题有帮助。例如改成这样:
#define DEBUG1 1
#include
main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
#if DEBUG1
printf("a=%d, b=%d\n",a,b);
#endif
c = max(a,b);
printf("max=%d",c);
}
int max(x,y)
int x,y;
{ int z;
if (x>y) z=x;
else z=y;
return (z);
}
scanf("%d%d", &a, &b);
你的是scanf("%d,%d",&a,&b);
你输入 应该要这样 5,6
改成scanf("%d%d", &a, &b);
你输入就可以 这样 5 6
#include
int max(int x,int y);
int main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max=%d",c);
}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return (z);
}
用你程序改的 不知道你用的什么编译器 实在是..
#include
main()
{
int a,b,c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max=%d",c);
}
int max(x,y)
{
int x,y;
int z;
if (x>y) z=x;
else z=y;
return (z);
}
你再试试