这是 K&R 中给出的声明 printf() 和 putchar() 可以交错。如果它是真的那么为什么下面的代码没有给出所需的输出: -
#include"stdio.h"
void main()
{
char c,d;
printf("Enter the first character\n");
scanf("%c",&c);
printf("%c\n",c);
printf("Enter the second character\n");
d=getchar();
putchar(d);
printf("\n");
}
每当我执行这个程序时,输出如下: -
输入第一个字符 一种 一种 输入第二个字符
这是输出。如果我将 printf() 替换为 putchar() 并将 scanf() 替换为 getchar(),也会发生这种情况。为什么会这样?