#include"stdio.h"
int main()
{ int a,b;
char c,d[10];
scanf("%3d%3d",&a,&b);
scanf("\n%3c",&c);
scanf("%s",d);
printf("%d,%d,%c,%s\n",a,b,c,d);
return 0;
}
输入123456
abc
ssss
结果为这样
而程序稍微改变
#include"stdio.h" int main() { int a,b; char c,d[10]; scanf("%3d%3d",&a,&b); scanf("%s",d); printf("%d,%d,%s\n",a,b,d); return 0; }
结果为
![]()
结果看起来只有char变量会读入整形之后的换行符,而char[]的字符串则不会。原本按我的想法,第一个程序d会读入bc.