- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:for構文内の変数について質問)
for構文内の変数に関する質問
このQ&Aのポイント
- 変数kの値が0に戻る理由について説明します。
- for構文を脱出すると変数の中身はクリアーされますが、ローカル変数の中身だけがクリアーされます。
- ソースコード内でfor構文がネストしている場合、内側のfor構文が終了すると外側のfor構文の変数も初期化されます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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 変数のスコープについて調べてみるとよくわかると思います。
その他の回答 (1)
- kuzumiHK
- ベストアンサー率72% (132/183)
回答No.1
for i=0のときのループでk=0が設定されて、k=2までループします。 次にfor i=1のループが始まるときに、k=2になっていた変数に、 k=0がfor文によって再設定上書きされるからです。
質問者
お礼
丁重なご回答誠にありがとうございます! 参考になります!
お礼
丁重なご回答誠にありがとうございます! スコープという概念について早速調べてみますね!!!! ありがとうございます! 最高!