プロが教えるわが家の防犯対策術!

C言語で写真のようなプログラムを作りました。
引数、戻り値を用いて関数の呼び出しをしなければならないのですが、コンパイルするとエラーが出てしまいます。どこをどう直せばちゃんとしたプログラムになるのでしょうか?初心者でよく分かっていないのですが、教えていただけたらと思いますm(_ _)m

エラーの内容は
(37)func:too few arguments for call
(38)func:too few arguments for call
と表示されました。
a=func(a);
b=func(b);
が37、38文目です。
※先程、質問したのですが、エラーの内容が分からないと言われたので再び質問させて頂きました。すみません。

「C言語で写真のようなプログラムを作りまし」の質問画像

A 回答 (5件)

関数funcもmainも値を返す必然性がないので、double型じゃなくvoid型で良いはず。

そうすれば戻り値がなくなり、returnが不要になります。で、戻り値がない関数を呼び出す場合は func(a); って書き方で済みます。今回は関数funcは引数が2つあるから、func(a,b); と書かなければエラーですけど。

そう言えば、関数mainの中でdouble func って宣言してるのは何のためですか?普通に無意味なはずですけど、そうしろと言われてるとか?

これは回答とは無関係な話ですけど、メモ帳でソースを書くのはとっても不便なので、フリーでいろいろ出回ってるテキストエディタでやるべきですね。そうすれば予約語の色分けや強調表示、場合によっては入力補完(キーワードを途中まで打てば候補が出てきて選べる)もできます。

それの紹介記事
https://www.sejuku.net/blog/1511#1Sublime_TextMa …
    • good
    • 0

写真参照。

「C言語で写真のようなプログラムを作りまし」の回答画像4
    • good
    • 3

こちらでも、コンパイルしてみますのでソースをコピペして、このサイトに張り付けていただけませんでしょうか。


ソースは画像で提示するより、コピペのほうがより回答が付きやすくなりますよ。
    • good
    • 2

まずは、エラーメッセージを読んで意味を調べましょう。


英語だからわからない、と逃げていては上達しません。
テストじゃないので、そんなに正確である必要はありません。
そのメッセージ、中学生程度の知識で十分読めます。


引数(arguments) が 少なすぎ( too few ) だと言っています。

関数funcの宣言は、(画像が不鮮明でよくわかりませんが)
double func(double a,double b)
と2つ引数を指定するようになっています。
それを func(a) のように1つしか引数を指定していないためのエラーです。


ただ、コンピュータには次の2つの区別ができません。
・引数を2つ指定するように定義したのが「間違い」
・引数を1つしか指定しないで実行しようとしたのが「間違い」

そして、func関数では何が正しいかを知っているのは、制作者のあなただけです。
回答している私達にはわかりません。
正しい状態がわからないので、直し方もわかりません。
    • good
    • 0

func の引数が 2 つ必要なのに、main 関数の中で引数 1 つしか書いていないからエラーになります。



それにしてもコードが汚い…。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!