• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミング 関数の問題について)

プログラミング関数の問題について

このQ&Aのポイント
  • double型の数値を引数にして呼び出されたら、それまでに渡された数値の最大値を返す関数を完成させる問題です。
  • 知り合いの説明によると、関数の内部で受け取った引数とそれまでの最大値を比較し、より大きい方を新たな最大値として更新しているようです。
  • もし違っていた場合は、正しい答えを教えてください。プログラミング初心者のため、理解が難しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ん~ ここで質問するより その知り合いに納得のいくまで説明してもらったほうが良いように思いますが ・・・ 1) 関数の戻り値を表すデータ型なので double 2) 関数の引数のデータ型なので double 3) 何回関数が呼ばれたかのフラグ ローカル変数なのでstatic宣言をしないと関数から戻ると破棄(破壊)されてしまうため 4) 現在の最大値 ローカル変数なので 3)と同じ理由で static 5) 初回呼び出しかどうかの判定 i==0 ・・・ ここが違います 比較なので == とします = だけですと代入になってしまいます 6) 最大値を初期化 max = x; 7) フラグを更新 i = 1; 8) 現在の最大値と引数の比較 max < x 9) 引数が現在の最大値より大きい場合だから max = x; 10) 最大値を返せば良いので max といった具合ですが ・・・

shakaijin
質問者

お礼

(5)は==でしたね・・・。 一応知り合いに聞き直してみて多分分かったと思います。 どうもありがとうございました。

関連するQ&A

専門家に質問してみよう