失礼します。
K&Rにしたがって以下のようなコードをコンパイルしました。
#include <stdio.h>
main(){
int c;

while( (c = getchar()) != EOF )
putchar(c);
}

実行したところ、入力した文字列はコピーされたのですが、その後入力待ち状態になります。
いろいろと実験したところ、getchar関数で最後に読み込まれている文字は'\n'のようで、
while文の条件式を(c = getchar()) != '\n'に変えると文字列コピー後プログラムが終了しました。
どうしてこのようにテキストと違う結果になるのでしょうか?
よろしくおねがいします。