C语言 求两个整数中的较大者

# include <stdio.h>
int 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);
return 0;
}
int max(int x,int y);
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
这是谭浩强C语言第四版的一个例程,为何一字不差的写上去还是报错????到底哪儿错了

int max(int x,int y); 去掉后面那个 分号
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-15
int max(int x,int y);
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}

函数头不用分号int max(int x,int y);

是函数申明的时候(你程序里第一次用的那时候才要分号。)
第2个回答  2011-11-15
# include <stdio.h>
int 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);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
第3个回答  2011-11-15
int max(int x,int y); //这个分号去掉 函数实现这里不要分号 声明才要
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
第4个回答  2011-11-15
//函数头不用分号
# include <stdio.h>
int 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);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}