int main() { int c, lastc = EOF; while((c = getchar()) != EOF){ if(c != ' '){ putchar(c); } else if(lastc != ' '){ putchar(c); } lastc = c; } return 0; }このプログラムは以前質問した2個以上の空白を1つにするというプログラムの解答サンプルですが
判らない所はlastcの初期値のことです。初期値が空白で文字列が○aaのように最初に空白があった場合
その空白は表示されません。また今回は空白が2個以上あった場合 ですが文字列が2個以上あった場合
の一般的な初期値は何にするのが妥当か?という論議がありました。
私としてはも対象の文字以外ならなんでもいいんじゃ・・という意見もだしましたが一般的ではないと
退けられました。結局答えは EOF だったのですが、whileの条件があるからそうかなと思っていましたが
それでもないようです。何故初期値に EOFが良いのか理由わかる方いますか?