• 締切済み

C言語助けてください!

C言語 やっているのですが写真のようなプログラムなのですがエラーが出て実行できません… どのように対処すればよいか教えていただけたら嬉しいです… エラー内容は「33行目」で記述エラーを発見しました。 「function pointer」を付け忘れています。 になっております… よろしくお願いします。

みんなの回答

  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.3

ここに投稿する前に、色々、見直してみてください。単純ミスが多いです。 例)気付いた点 ・関数の引数が double data[] なのに、呼び出す側は int data[] を渡している。 ・関数 sum() で、引数 number を for 文の変数にしている。(n と numberの記述が逆) ・関数average()で、変数nの定義は不要。また除数はnumberの記述ミス。 ・double averageは不要。 (エラーメッセージはこれが原因かな?) 上記を中心に見直したプログラムを実行してみたら、ちゃんと結果が得られました。正解のコードは載せませんが、上記のヒントをたよりに、ひとつひとつ見直していってみてください。

noname#232800
noname#232800
回答No.2

「n」が定義されてません。 sum とか average とか使ってます。予約語と混同するので、x_sum とか名前を変えてます。

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

33行目のaverage(data, number)の第一引数dataの型はint data[]とintの配列ですけど、関数average()の第一仮引数dataの型は何になっていますか? またコンパイルエラーにはなっていないようですが関数sum()は処理そのものがおかしいです。

inari86
質問者

補足

回答ありがとうございます 確かにaverage ではdoubleで宣言してますが mainではintで宣言してました。見落としです、すみません。 sumの処理が違うということで考えたのですが main内のnをnumberに変え sum内のint n;をint a; for文の中身を for(a = 0; a < number; a++){ result += data[a]; にしてみましたが全く実行できず…

関連するQ&A