[已解决]输出两个数中较大的,总是输出一个数字

软件和网站开发以及相关技术探讨
回复
sirjoy
帖子: 12
注册时间: 2009-03-19 9:28
来自: 宛城

[已解决]输出两个数中较大的,总是输出一个数字

#1

帖子 sirjoy » 2009-04-30 0:00

C源代码如下:

代码: 全选

#include <stdio.h>
int main()
{
 int max(int x,int y);
 int a,b,c;
 printf("Please input two numbers\n");
 scanf("%d,%d",&a,&b);
 c=max(a,b);
 printf("max is %d\n",c);
}
int max(int x,int y)
{
 int z;
 if(x>y) z=x;
 else z=y;
 return(z);
}
在GCC下,任意输出两个数,都只输出134513801,请指教:哪个地方出错了呢?
上次由 sirjoy 在 2009-04-30 18:49,总共编辑 1 次。
rickzxy
帖子: 3
注册时间: 2009-02-02 20:32

Re: 求助:输出两个数中较大的,总是输出一个数字

#2

帖子 rickzxy » 2009-04-30 0:09

把scanf括号中的第一个","去掉。

代码: 全选

scanf("%d %d",&a,&b);
sirjoy
帖子: 12
注册时间: 2009-03-19 9:28
来自: 宛城

Re: 求助:输出两个数中较大的,总是输出一个数字

#3

帖子 sirjoy » 2009-04-30 18:50

rickzxy 写了:把scanf括号中的第一个","去掉。

代码: 全选

scanf("%d %d",&a,&b);
非常感谢,果然去掉这个“,”就可以输出正确的结果了。
如果保留",",输入两个数字时,中间也要用逗号隔开,就能正确输出结果了。
这个是Turbo C++ 3.0和GCC环境的不同导致的吧。。。
回复