- 締切済み
C言語助けてください!
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KEIS050162
- ベストアンサー率47% (890/1879)
回答No.3
ここに投稿する前に、色々、見直してみてください。単純ミスが多いです。 例)気付いた点 ・関数の引数が double data[] なのに、呼び出す側は int data[] を渡している。 ・関数 sum() で、引数 number を for 文の変数にしている。(n と numberの記述が逆) ・関数average()で、変数nの定義は不要。また除数はnumberの記述ミス。 ・double averageは不要。 (エラーメッセージはこれが原因かな?) 上記を中心に見直したプログラムを実行してみたら、ちゃんと結果が得られました。正解のコードは載せませんが、上記のヒントをたよりに、ひとつひとつ見直していってみてください。
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()は処理そのものがおかしいです。
補足
回答ありがとうございます 確かにaverage ではdoubleで宣言してますが mainではintで宣言してました。見落としです、すみません。 sumの処理が違うということで考えたのですが main内のnをnumberに変え sum内のint n;をint a; for文の中身を for(a = 0; a < number; a++){ result += data[a]; にしてみましたが全く実行できず…