教えて!しごとの先生
教えて!しごとの先生
  • 解決済み

基本情報技術者試験の科目Bについて教えてください。

基本情報技術者試験の科目Bについて教えてください。画像の22行目でなぜBが出力されるのかわかりません。13行目でBは出力されているのと、programBが実行される前に大域変数でaにはA(初期値)がはいるのではないのですか? 解説にはプログラム実行前に最初に初期値が格納されると記載されていました。 教えてください。

続きを読む

183閲覧

回答(4件)

  • ベストアンサー

    >programBが実行される前に大域変数でaにはA(初期値)が入る >プログラム実行前に最初に初期値が格納される → 基本的には正しいのですが何故そう言う解釈になりますか? 最初に実行されるのはprogramAです(実行前に初期値が格納) → >画像の22行目でなぜBが出力される? → 大域変数 a の値は "B" だからです (step:5 に相当) 局所変数(即ち、スタック変数)も学習済みですよね 関数間の引数渡しは呼出す直前にスタックに積まれます (呼出し/呼出され側で積まれた順番は整合性あり、ラベル名の一致は不問) で、全体の変数の変化以下の感じ? ────────

    なるほど:1

  • 12行目で大域変数をBに上書き。 14行目は大域変数の初期化ではなく、小域変数でAが入力されています。 よって22行目は大域変数のBが出力されます。ちなみに次に出力されるのはAです。

    なるほど:1

  • 14行目で格納している先が大域変数の a ではないからです。

    なるほど:1

  • 広域変数と局所変数が同じ名前の場合の挙動を調べるなりなんなりしてください

    なるほど:1

< 質問に関する求人 >

基本情報技術(東京都)

この条件の求人をもっと見る

< 平日勤務で週末はリフレッシュしたい人におすすめ >

正社員×土日祝休み(東京都)

求人の検索結果を見る

もっと見る

この質問と関連する質問

    < いつもと違うしごとも見てみませんか? >

    覆面調査に関する求人(東京都)

    この条件の求人をもっと見る

    Q&A閲覧数ランキング

    カテゴリ: 資格

    転職エージェント求人数ランキング

    • 1

      続きを見る

    • 2

      続きを見る

    • 3

      続きを見る

    あわせて読みたい
    スタンバイプラスロゴ

    他の質問を探す

    答えが見つからない場合は、質問してみよう!

    Yahoo!知恵袋で質問をする

    ※Yahoo! JAPAN IDが必要です

    スタンバイ アプリでカンタン あなたにあった仕事見つかる