读书人

各路C++高手麻烦帮小弟我这个菜鸟解一

发布时间: 2013-01-08 14:02:14 作者: rapoo

各路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;
}


或者将max定义成宏。
[解决办法]
把函数的声明写在main外面,而且先于main函数声明。
因为你定义写在main函数里面,被当做了声明。
这个是老式的C做法,所以会出问题

读书人网 >C++ Builder

热点推荐