#include <stdio.h>
int main(){
int c, nl=0;
while((c = getchar()) != EOF)
if(c=='\n')
nl++;
printf("%d",nl+1);
return 0;
}
K & R ansi c、セクション1.5.3: 行カウントプログラムはclionで正確に複製されます。私はMingw64を使用しています。 EOF
と比較した場合、コンソールに出力はありません。getchar()
それは他の文字とうまく動作します。 CTRL^Dを使用すると、コンソール上に出力されずに 'code 0'のプログラムが終了します。私はbashで実行しようとしましたが、出力はありません。非常に長い時間、このままで立ち往生してください。ctrl^Dの後にコンソールに出力がありません。
入力:多分
,,,のような複数行
上
いくつか刺さ
..
4行。
予想される出力:
実際の出力:
(何も) EDIT-1:私は私がすべてのプログラムでこの問題を持って発見しましたどこかでEOF比較を使用してください。これらのプログラムはコンソールから実行されることになっていますか、またはファイルからの入力が与えられていますか? * nixのシステムで
コード、入出力、予想出力を表示してください。 –
これまでの調査/デバッグの取り組みを示してください。まず[Ask]ページをお読みください。 –
_デバッグヘルプを検索する質問(「なぜこのコードは動作しませんか?」)には、目的の動作、特定の問題またはエラー、および質問自体に再現するのに必要な最短コードが含まれている必要があります。明確な問題文がない質問は、他の読者にとって有用ではありません。参照:最小限で完全かつ検証可能なサンプルを作成する方法。 –