• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:for構文内の変数について質問)

for構文内の変数に関する質問

このQ&Aのポイント
  • 変数kの値が0に戻る理由について説明します。
  • for構文を脱出すると変数の中身はクリアーされますが、ローカル変数の中身だけがクリアーされます。
  • ソースコード内でfor構文がネストしている場合、内側のfor構文が終了すると外側のfor構文の変数も初期化されます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#161640
noname#161640
回答No.2

>何故変数の中身の数値がクリアーされてるのですか? 変数の中身がクリアされているわけではありません。途中、変数そのものが消滅し、また新たに作られているのです。 0-0 0-1 0-2 ここでfor(int k=0; k<3; k++)の{}を抜けた時点で、変数kは消滅しています。再び繰り返しでfor(int k=0; k<3; k++)に入るとき、改めて新しく変数kが作られ、0で初期化されます。 1-0 1-1 1-2 変数のスコープについて調べてみるとよくわかると思います。

wantanton
質問者

お礼

丁重なご回答誠にありがとうございます! スコープという概念について早速調べてみますね!!!! ありがとうございます! 最高!

その他の回答 (1)

  • kuzumiHK
  • ベストアンサー率72% (132/183)
回答No.1

for i=0のときのループでk=0が設定されて、k=2までループします。 次にfor i=1のループが始まるときに、k=2になっていた変数に、 k=0がfor文によって再設定上書きされるからです。

wantanton
質問者

お礼

丁重なご回答誠にありがとうございます! 参考になります!

関連するQ&A