みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

C言語助けてください!

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

投稿日時 - 2018-02-27 21:19:34

QNo.9433363

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

ここに投稿する前に、色々、見直してみてください。単純ミスが多いです。

例)気付いた点
・関数の引数が double data[] なのに、呼び出す側は int data[] を渡している。
・関数 sum() で、引数 number を for 文の変数にしている。(n と numberの記述が逆)

・関数average()で、変数nの定義は不要。また除数はnumberの記述ミス。

・double averageは不要。 (エラーメッセージはこれが原因かな?)

上記を中心に見直したプログラムを実行してみたら、ちゃんと結果が得られました。正解のコードは載せませんが、上記のヒントをたよりに、ひとつひとつ見直していってみてください。

投稿日時 - 2018-02-28 16:04:10

「n」が定義されてません。

sum とか average とか使ってます。予約語と混同するので、x_sum とか名前を変えてます。

投稿日時 - 2018-02-27 22:00:02

ANo.1

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

投稿日時 - 2018-02-27 21:42:20

補足

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

投稿日時 - 2018-02-27 22:24:42

あなたにオススメの質問