include <stdio.h>
main()
{
int a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();
d=getchar();
printf("%c%c%c%c",a,b,c,d);
}
此代码运行时输入:
12<CR>
34<CR>
运行结果为:
12
3
scanf以enter作为输完的依据,getchar也以enter作为输完的依据。那为什么结果会是这样。
也就是说12被scanf读取,第一个CR被第一个getchar读取,3被第二个getchar读取,然后是4,然后遇到enter然后就结束了。 |