printf("hello2");
int i = 0;
int done = 0;
while (!done)
{
char c;
printf("hello3");
c = getc(stdin);
printf("hello4");
if (isspace(c))
{
done = 1;
ungetc(c, stdin);
printf("hello5");
}
}
私のプログラムは現在入力を読み込もうとしています(この場合は特に入力が空です)。しかし、私のプログラムがうまく動作しないことが判明した後、私はprintfsを散らばってデバッグしようとしましたが、c = getc(stdin)
の後にプログラムが動作しなくなってしまったようです。私の理論が正しければ、c = getc(stdin)
を使って何が問題になっていますか?getc(stdin)の後でプログラムの動作が停止する
各印刷文字列に '\ n 'を追加することで、保証出力がフラッシュされます。問題を識別するのに十分なコードがありません。 – chux
'getc()'は 'int'を返します。典型的には257種類の異なる値' EOF'と 'unsigned char'の範囲の値を返します。 – chux
'printf()'の呼び出しのたびに 'fflush(stdout);を使って、何を印刷すべきかを確認してください。 – MikeCAT