- 733 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 23:03:09 ]
- >>727
for文の第一節はループ開始前に一回だけ実行される。 だから for(int i=0; … は、ループ開始前に変数iを確保して0に初期化し、 ブロック(forループ)を抜けたら破棄することを意味する。 対してwhile文の条件節は、処理がループするごとに実行される。 もしここに while(int i= … と書いたとしたら、 それは処理の先頭にくるたびにiを宣言するという意味になるが、 まだその時点ではブロックを抜けていないから、 前に宣言したiは有効で、これは文法上エラーとなる。 もし while(static int= … と宣言してうまくいくとしても、 それはおそらく何の利益もない。
|

|