举个例子,请自动忽略未写部分:
一、在scanf函数中混合输入
int a = 0,b = 0;
char c = 'a';
scanf("%d%c%d",&a,&c,&b);
printf("%d,%c,%d",a,c,b);
如果我们输入11空格a空格13那么打印的是11,空格,0。
二、在scanf函数中输入全整型
int a = 0,c = 0,b = 0;
scanf("%d%d%d",&a,&c,&b);
printf("%d,%d,%d",a,c,b);
如果我们输入11空格12空格13那么打印的是11,12,13。
问题:
是不是说在混合输入时系统自动把a识别成整型输入到第二个%d里?如果是,为什么在全是int类型有空格、回车、tab时系统不会自动把空格、回车识别成整型输入?如果不是为什么在混合输入时会出现这种情况?也就是说为什么在全整型中系统会自动识别不是整型的空格,把这个不是整型的空格忽略掉进而输入下一个用户输入的整数,在混合输入中第二个整型却不会识别不是整型的a而直接输入a导致结果显示初始数据?
|
|