本文へスキップ
Certia
テクノロジ系
秋期

応用情報技術者 2011年 秋期 問22

22 / 80

メインプログラムを実行した結果はどれか。ここで, static は静的割当てを、auto は 動的割当てを表す。 メインプログラム auto int x,y; *=f(2)+f(2); y=g(2) +g(2); 関数 f(4) 関数g(4) auto int w; auto int u; auto intu=1; static intu = 1; u=u+w; ひ=ひ+び; returno; returnU; £ y

問題の図

正解と解説

表示する
正解 イ

staticで宣言した変数は関数呼出し間で値が保持され、autoは呼出しごとに初期化されます。f(自動変数u)は毎回初期化されるため2回呼んでも同じ結果、g(静的変数u)は前回の値を引き継ぐため2回目で値が増えます。この差からxとyの結果が決まります。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。