#include
int main()
{
int max(int x,int y,int m);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int m)//写函数定义时,此处不能有分号
{
int d = a>b?a:b;
return d>c?d:c;
//return (a>b?a:b)>c?(a>b?a:b):c
}
你的大括号有点大了,把子函数的函数名都括进来了,当然不行了。
int max(int x,int y,int m);
{
int z;
if(x
if(z
return (z);
}
先指出你的错误:
1,大括号有误
2,没考虑小于的情况
3,函数的调用需要在之前声明
正确的如下:
#include
int max(int x,int y,int m);
int main()
{
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int m)
{
int z;
if(x
else
z=x;
if(z
return (z);
}
改成这样
#include
int main()
{
int max(int x,int y,int m);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d\n",d);
return 0;
}
int max(int x,int y,int m)//写函数定义时,此处不能有分号
{ //这个大括号应该在这
int z;
if(x
if(z
return (z);
}
int max3(int a,int b,int c){
return a>b?(a>c?a:c):(b>c?b:c);}
每次比较有两种结果,你的只给出1种结果!