我是这样写的:
#include
#include
void main()
{
scanf("%d,%d",&a,&a,&b);
c=max(a,b);
print("max=%d",c);
return 0;
}
可是怎么就不对了呢?想不明白。。啊~~
1;如wolf所说,多一个&a,多return 0;
2;a,b,c没定义
3;我记得标准c是没max函数的。看不到你的include,不知道你引用了哪些头文件。应该要定义一个max宏:三#define max(x,y) (((x)>(y))?(x),(y))
scanf("%d,%d",&a,&a,&b);//这行代码是否应该这样写:
scanf("%d,%d",&a,&b);
另外你把return 0 也去掉吧
如果回答对您有帮助,请采纳
你定义的是一个void的主函数,就不能返回0了。你要返回0就要定义为int型的主函数。
#include
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);
}
其实也不一定需要去掉return 0,但是你的main函数的返回值是void,是空类型的返回值,那么你就应该在main函数最后返回一个空的值,所以把return 0改成return就可以,另外,你这个程序里面,max函数没有定义(C语言stdio头文件的库函数里没有max函数),变量也没有声明,而且标准输入函数scanf的参数有点问题,多了一个地址参数,如果解决了你的问题,请采纳哦亲。
没有定义max函数,多了个&a。
头文件怎么没写全,变量怎么没定义,输入scanf()里面没对应……