回 帖 发 新 帖 刷新版面

主题:[讨论]初学者,一个很短的程序一直运行不对,求指导

本人刚开始自学c语言,请勿见笑[em2]
如果此贴不应该发在这里,请大家原谅   刚刚注册帐号
一个比大小的程序,一直找不到错误在哪里,请指导一下:
int max(int a,int b);
main()
{
int x,y,z;
int max(int a,int b);
printf("input two numbers:\n");
scanf("%d%d",&x,&y);
z=max(x,y);
printf("maxmum=%d,z);
system("pause");
}
int max(int a,int b)
{
if(a>b)return a;esle return b;
}
在tc上运行时,不管输入的数是哪两个,运行结果总是
maxmum=3189Press any key to continue...      请问这是怎么回事?

回复列表 (共4个回复)

沙发

全是错误,能编译通过吗?
printf("maxmum=%d,z); 中缺少分号
esle 也拼错了

板凳

无语,先把基本的命令和格式记熟再开始编程吧

3 楼

首先 你scanf函数这里出问题了,输入时最好能用“,”或“ ”代替这样你输入后系统才嫩能正确读取,而向你这样输入后只能算一个数,而第二个数是不确定的,所以才会出现你这种情况。
在if else语句中可以这样代替 return (a > b ? a;b);

4 楼


什么个破程序啊?把基本的格式练好了再来。我记得没哪本书上是这个代码风格吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册