#include <stdio.h>
void main ()
{
int a,b,t;
scanf("%d %d",&a,&b);
if ( a < b )
{ t=a;
a=b;
b=t;
}
printf("a=%d,b=%d\n",a,b);
}
语法很简单,我的问题在于如果把输入的那行 代码:scanf("%d %d",&a,&b); 改成scanf("%d,%d",&a,&b); 在%d之间加一个 “ , ” ,为什么程序会认不到键盘键入的b的值呢?
下面是调试的过程看a,b的值在输入的时候是怎么变化的:

这个是输入的数字格式 2,3 然后 回车,a,b的值如下:

发现只有a的值键入了2,而b的值却还是系统设置的初始值76,没有变化,请问这种原因是什么呢?
我找了资料也百度了scanf的用法,发现用空格或者逗号隔开%d的形式都是可以的,那为什么这里会出错呢?不解……
void main ()
{
int a,b,t;
scanf("%d %d",&a,&b);
if ( a < b )
{ t=a;
a=b;
b=t;
}
printf("a=%d,b=%d\n",a,b);
}
语法很简单,我的问题在于如果把输入的那行 代码:scanf("%d %d",&a,&b); 改成scanf("%d,%d",&a,&b); 在%d之间加一个 “ , ” ,为什么程序会认不到键盘键入的b的值呢?
下面是调试的过程看a,b的值在输入的时候是怎么变化的:

这个是输入的数字格式 2,3 然后 回车,a,b的值如下:

发现只有a的值键入了2,而b的值却还是系统设置的初始值76,没有变化,请问这种原因是什么呢?
我找了资料也百度了scanf的用法,发现用空格或者逗号隔开%d的形式都是可以的,那为什么这里会出错呢?不解……


这是我输入的格式


光影

