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

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ねむねむさん  
(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さん 
FE ブロンズマイスター
(No.2)
『グローバル変数に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日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop