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

午前試験免除制度対応!基本情報技術者試験の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

返信投稿用フォーム

※CBT試験では出題内容の公開が禁止されているため、直接的・間接的を問わず、出題内容や難易度を尋ねる質問は厳禁です。
※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop