Windows XPのPCにDev-C++ 5.11を使用してCプログラムを作成しました。それは私が、典型的な文字カウントプログラムとして見た一つだと次のようにそれが行く:文字カウントプログラムが正常に動作しない
#include <stdio.h>
main() {
long nc;
nc = 0;
while (getchar() != EOF) {
++nc;
}
printf("%ld", nc);
}
それは問題なくコンパイルされたが、それは私が入力したボタンを含める押す必要がある場合にのみ、文字間とそれが動作(\n
) 。私がそれをしないと、0か何も印刷しません。私はタブやバックスペースのような他の文字を含めることを試みたが、まだ何もしなかった。私はそれを終了するためにCtrl + Cを使用しています。私は間違って何をしていますか?
[while((c = getchar())!= EOF)可能な重複の可能性あり](http://stackoverflow.com/questions/18565663/while-c-getchar-eof-not-terminating ) –
たぶん、 "それはすべきだ"とは思えないかもしれませんが、 "Enterボタン"を待つgetchar()関数を使用しているので、それだけで動作します。 –
@DarkoDjuric: 'getchar()'は待ちません"enter"を押すと、入力が実際に 'stdin'に現れるのを待ちます。 2つは非常に異なるものです。 – DevSolar