逆に、カウンタ変数をデクリメントし続けるという方法もあります。あらかじめ、i 変数に繰り返す回数を代入し、文を実行するたびにデクリメントすることで同じ結果が得られます。この場合、i 変数の値が 0 になった時点で抜け出すことが条件となるため、制御式には i 変数だけを渡せば良いでしょう。i == 0 と書いても問題はありませんが、冗長です。
サンプル03
#include <stdio.h>
int main(void)
{
int i = 10;
while (i--) printf("i = %d\n", i);
return 0;
}
実行結果
サンプル03は、while文の制御式で変数 i をデクリメントしています。繰り返すごとにwhile文の制御式が評価されるため、i 変数の値は繰り返すたびにデクリメントされ、やがて0になってwhile文から抜け出すという仕組みになります。ただし、一般的な繰り返し文は、実行回数をカウントできるサンプル02のような書き方で管理することになるでしょう。