• 締切済み

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% (1619/5653)
回答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

  • C言語(またはC++言語)についての質問です。

    C言語(またはC++言語)において、以下の変数x、ポインタ変数(*p,**pp, ***ppp)のメモリ上のイメージを記述しなさい。 int x, *p, **pp, ***ppp; x=10; p=&x; pp=&p; pppp=&pp; という問題なのですが、わからなくて困っています。 このプログラムはどのようなものなのでしょうか。 詳しい回答をよろしくお願いします。

  • C言語による実行

    C言語で記述したソースプログラムを入手しました。これをコンパイルして実行する具体的な方法を教えて下さい。私は、MS-Fortran,FBASICのソースプログラムからコンパイルし、実行することをしております。

  • C言語のプログラミング

    C言語のプログラムを読もうとしているのですが、初心者故に難儀しており、お助けいただければ幸いです。 プログラムの内に下記のような「CnsktModule* 」の部分があります。 例えば、char *p; のような記述であれば、p はポインタでポインタの指し示す内容はキャラクタの型を 持っていると理解できるのですが、「CnsktModule* 」はどのように解釈したらよいのでしょうか? CnsktModule* cnsktNew(char *printer, char *locale, char *folder_path, int port_num) { 以下省略

  • C言語のアルゴリズムについて

    C言語で「標準入力から英語の文章を読み込んで,文字列Ilmorが出現した行をその行番号とともに表示するプログラムを作りなさい.」とプログラムを作りたいのですが、文字列を発見するところまでは分かるのですが、その行どうやって表示すればいいのか分かりません。また、文章を読み込むのもすごくややこしく最後にエンターを二回押すなどの制限があります。(scanf) 参考になるプログラムを書いていただける方いませんか?できればC言語のアルゴリズムについて詳しく書いた本やサイトがあれば教えていただきたいです。 レベルは超入門的な本を2,3冊読んだ程度です。アルゴリズムなどにはまったく触れてなかったし、ライブラリー関数も少ししか載ってなかったので関数の本もあれば教えていただきたいです。

  • C言語の参考書について

    大学の後期の授業でC言語の参考書を買ってくるように言われました。 でもどの参考書がいいのかわからないので教えてください!! 前期の授業では ・C言語で作成したプログラムのコンパイルと実行の 流れ ・コンパイルエラーのエラーメッセージの見方 ・実行時のエラーとプログラムの修正 ・C言語のプログラムの基本形 ・printf()と定数 ・変数 ・数値型 ・文字型 ・文字列 ・printf()の書式指定 ・プログラム記述時の約束、予約語 ・算術演算子 ・代入演算子 ・インクリメント、デクリメント演算子 ・比較演算子(関係演算子) ・式が持っている値 ・論理演算子 ・条件付き代入 を勉強しました。 その範囲は、まだちゃんとに覚えてないけど授業でもらったプリントを見れば一応できます。 それで先生いわく、参考書は入門編でもいいらしいんですけど、さらに実践編も買い足さなければいけないらしいんです。 今の状態で実践編でも大丈夫ですかねぇ??

  • C言語について

    C言語初心者です。 「かんたんC言語」という書籍で学習しております。 コマンドプロンプトでのプログラムの実行方法がよくわかりません。 教えて頂けないでしょうか?

  • C言語でのエラーの直し方について?

    C言語でのエラーが発生したとします。その時、どのようにして、エラーを見つけ直していくのですか? 私はprintfを用いて値を見ることでエラーを見つけています。 ステップインで実行して変数にどのような値が入っているか見つけようともしているのですが、変数にa値が16進数で格納されていたり、アドレスがあったりと見方が複雑でうまく発見できていません。 正しい、エラーの見つけ方、直し方とはどういったやり方なのでしょうか?

  • C言語のポインタとスタックポインタ

    プログラム始めて1ヶ月の初心者です。 C言語のポインタとスタックポインタというのは同じなのでしょうか。 スタックポインタの考えは大体理解出来たのですが C言語のポインタとなるとコードを見てもサッパリ分かりません。 ネットで調べても出てこなかったのでどなたか教えて下さい。 よろしくお願いします。

  • C言語について

    最近C言語でプログラミングを試みようとしてるのですが、コンパイルの時点でよく分かりません。 どのようなソフトでどのようにインストール・設定し、どのようにコンパイルするかなど、C言語でのプログラムのコンパイルから実行までを詳しく教えてください。

  • C言語中でunixのコマンドを使いたい

    c言語でプログラムを作ってるんですが、カレントディレクトリ名や、ある名前のファイルが存在するかどうかや、あるファイル中にある文字列があるかどうかなどの判定を行いたいんですが、cで一から記述すると長くなりそうなので、pwcやfind、grepといったコマンドをc言語中で実行でると便利だと思ったんですが、そんな事ってできますかね?