各路C++高手麻烦帮我这个初学者解一下惑!!多谢
之前输了一个简单的比大小的程序,但最后得的结果都是472这个数,麻烦帮我看看哪里出错了~多谢!!
#include<stdio.h>
void main()
{
int max(int x,int y);
inta,b,c;
scanf("%d,%d,&a,&b");
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
intz;
if(x>y)z=x;
else z=y;
return(z);
}
我把max函数中的z换成c结果也都一样,这是为什么???
[解决办法]
#include <stdio.h>int max(int x, int y){ return x > y? x: y;}int main(int argc, char* argv[]){ int a, b, c; scanf("%d,%d", &a, &b); c = max(a, b); printf("max=%d\n", c); return 0;}
[解决办法]
把函数的声明写在main外面,而且先于main函数声明。
因为你定义写在main函数里面,被当做了声明。
这个是老式的C做法,所以会出问题