其实没错……不过你在max那里返回值返回了个0,按照你的思路max改成这样
//printf自己加上去,主要看return的写法
int max(int a,int b)
{
if(a>b)
return a;
else
return b;
}
自定义函数的函数体改成
return a>b?a:b;
这就很神奇,你max
返回的又不是最大值,你又和其他值比较,那不就是和0比较么,
从你的代码看,感觉想返回最大值,那么应该是
int max(int a, int b)
{
if(a >= b)
{
return a;
}
else
{
return b;
}
}
这个代码的要求你没有打出来,不太清楚你需要这个代码的目的。
就按照你的代码来说,int max函数就只是用来打印一个最大值,无论谁大,都只能返回一个0。
没有把最大值return的结果,就在你的main()函数中的c=max(2,max(2,3))这行代码里面。由于你返回值都是0,就会导致c=max(2,0)。又因为你的返回值是0,c的值一直都为0。
如果你把int max()函数改为
{
if(a>b)
return a;
else
return b;
}
就可以做到比较三个数的大小了。