分页: 1 / 1

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

发表于 : 2009-04-30 0:00
sirjoy
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,请指教:哪个地方出错了呢?

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

发表于 : 2009-04-30 0:09
rickzxy
把scanf括号中的第一个","去掉。

代码: 全选

scanf("%d %d",&a,&b);

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

发表于 : 2009-04-30 18:50
sirjoy
rickzxy 写了:把scanf括号中的第一个","去掉。

代码: 全选

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