for文をwhile文に書き換える
可読性の面から言うとメリットはあまりない。
ただ、while文を習いたての人とか初心者向けの参考書には問題として設定されているっぽい。
for文はC言語では、
for(初期化式; 継続条件式; 再初期化式){
繰り返しブロック;
}
で書き表し、
初期化式
→
継続条件式
=true→(1)
→繰り返しブロック
→再初期化式
→継続条件式
=true→(1)に戻る
=false→終了
=false→終了
というように推移する。
継続条件式はwhile文の継続条件式と同様にかけますので、for文と同等になるようなwhile文は、
初期化式;
while(継続条件式){
繰り返しブロック;
再初期化式;
}
で書くことができる。
注意すべきは再初期化式が繰り返しブロックの後に来ること。
具体例
int i;
for(i=0;i<10;i++){
printf("%d ",i);
}
printf("\n");
というプログラムは
int i;
i = 0;
while(i<10){
printf("%d ",i);
i++;
}
printf("\n");
とwhile文で書き直すことができる。
通常はfor文の方が読みやすい。