• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:合ってるのか合ってないのか。C言語)

C言語の関数sub()について

このQ&Aのポイント
  • 関数sub()は、与えられた配列の要素の合計を返す関数です。
  • プログラムでは、引数の配列の要素の中から指定した範囲の要素の合計を求めています。
  • ただし、引数の範囲が正しくない場合はエラーメッセージが表示されます。

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

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

> 0と0入力したら2だと思うのですが、これは問題のミスでしょうか なぜそう思うのでしょう? startからendまでを足すのですから、 start=0,end=0なら a[0]だけ = 1 start=3,end=4なら a[3] +a[4] = 7 + 9 = 16 start=3,end=5なら a[3] +a[4] +a[5] = 7 + 9 + 11 = 27 となります。

izupawapuro
質問者

お礼

a[0]+a[0] = 1+1=2だと思いました。 そうするとプログラムでは forかif文でしょうか i=start;i<=end;i++ という感じでしょうか。 携帯からなので詳しくかけません。すいません

その他の回答 (2)

  • ninoue
  • ベストアンサー率52% (1288/2437)
回答No.3

#2でsub()関数の誤り、関数名のつけ方の問題点等を指摘されているので、 見直せば直ぐに問題点は見つかる筈です。 分らない場合にはデバッガを使ったり、print文を挿入して計算にどのデータが使われているかをプリントしたりして確認して下さい。 (ループ変数:i, 計算対象データ a[start], a[end] atai 等) (それでも分らなかったら .... ????? 処置無しかも).    もう少し真面目にC言語の教科書なり、書店で参考書なりを入手して最初から説明や例題を辿って勉強して下さい。 例えば次のサイトも参考になります。 http://www.kumei.ne.jp/c_lang/ 猫でもわかるプログラミング C言語編 第1部 (名前に似合わず真面目に基本的な事が学べます) 同じく右上の検索窓やgoogleなどで例えば次のように入力して調べて下さい。 "C言語 入門 フリーサイト" "C言語 入門 サイト"、 "C言語 入門 参考書"

izupawapuro
質問者

お礼

参考にさせていただきます

izupawapuro
質問者

補足

参考書はあるのですが、それを見てもわからないのです・・・ 自分には才能がないということですか・・・

回答No.2

問題のミスではないが回答のsub()が間違っているからそう思うのでは。 しかしsubという関数名は最悪の命名。

izupawapuro
質問者

補足

むう?a[3]+a[4]+a[5]のはどうやって作ればいいのでしょうか・・

関連するQ&A