これは、printf()とputchar()をインターリーブできるというK&Rのステートメントです。それが本当なら、なぜ次のコードが必要な出力を与えないのですか:-
#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");
}
このプログラムを実行しているときはいつでも、出力は次のようになります。
最初の文字を入力してください a a 2番目の文字を入力してください
これが出力です。これは、printf()をputchar()に置き換え、scanf()をgetchar()に置き換えた場合にも発生します。なぜこれが起こっているのですか?