私はこの本の演習 1-9 (入力を出力にコピーするプログラムを作成し、1 つまたは複数の空白の各文字列を単一の空白に置き換える) を行っていましたが、よくわかっていないようです。これまでのところ、これは私のコードです:
#include <stdio.h>
int main() {
int c;
while ((c = getchar()) != EOF)
if (c == ' ') {
while (c == ' ') {
c = getchar();
}
putchar(' ');
} else {
putchar(c);
}
return 0;
}
という文hey(blank)(blank)(blank)now
になるので間違っていhey ow
ます。最後の空白の後の最初の文字は常に消去されます。かなりばかげたバグだと思いますが、修正方法がわかりません。アドバイスをいただければ幸いです。PS: 私の英語で申し訳ありません。何かわからないことがあれば教えてください。