HOME»基本情報技術者試験掲示板»グローバル変数とローカル変数について
投稿する

グローバル変数とローカル変数について [5547]

 ねむねむさん(No.1) 
グローバル変数にx=2と設定されており、proc1を実行した場合のxのyの出力結果を教えてください。


proc1
y=1
proc2を呼び出す
x=x-1
y=y-1
-------
proc2
x=x+1
y=3

このようなコードの場合はproc2にはreturnがないため、実行結果としてはx=1、y=0になるのでしょうか?
ローカル変数が優先されるのはわかるのですが、呼び出した先の変数の扱いがわからないため教えてほしいです。
2024.07.31 10:33
y4 kさん(No.2) 
FE ブロンズマイスター
『グローバル変数にx=2と設定されており、』
示されているのがこれだけなら、プログラムの動作が変わる場合があります。
というのも、Python等ではグローバル変数と同名のローカル変数を使用できるからです。

ちなみにPythonで動作させた所
1) proc1, proc2共にxはグローバル変数とした場合x=2, y=0でした
2) xはproc1のみグローバル変数, proc2ではローカル変数とした場合x=1, y=0でした

御質問が何かの問題に基づいているのであれば、作問者は考慮が足りていない気がします。
2024.07.31 11:50
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop