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
返信投稿用フォーム

お名前

顔アイコン


本文(コミュニティガイドライン⇱を順守して適切な投稿を心がけましょう)

🔐投稿削除用のパスワード

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

投稿記事削除用フォーム

投稿No. パスワード 
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop