
C言語(関数の問題)で読み込んだ4つの整数の最大値を求めプログラムで
整数を2つペア比較し、関数の入れ子を用いて最大値を見つけて、表示する。
というプログラムを作成したいのですが
#include<stdio.h>
int maxof(int a, int b)
{
if(a > b) return (a);
else return (b);
}
int max4(int a, int b, int c, int d)
{
max(max(a, b), max(c, d));
}
int main(void)
{
int num1,num2, num3, num4;
------ 整数の読み込み
printf("最大値は%dです。", max4(num1, num2, num3, num4));
return(0);
}
と記述すると、上手くいったのですが
これを max関数だけを用いて作成できますでしょうか?
整数の比較は全てmax関数で行いたいです。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
補足で、やりたいことはわかりました。
それで、具体的なプログラムと、エラーメッセージは、どうなっているのですか?
「エラーになります」だけでは、アドバイスもできません。
No.2
- 回答日時:
max1 = maxof(num1, num2);
max2 = maxof(num3, num4);
max = maxof(max1, max2);
maxの代わりにmax12とでもしたらどうですか。"max"を関数とするのか変数名とするのかはっきりさせるべきです。
No.1
- 回答日時:
まず。
maxof関数の定義はありますが、 max関数の定義は無いように見えます。// コンパイラや環境によっては、max関数があるかもしれませんが
> max関数だけを用いて作成できますでしょうか?
> 整数の比較は全てmax関数で行いたいです。
この部分がよくわかりません。
iMax2 = max(a,b) ; /* max2(a,b) */
iMax3 = max(a,b,c) ; /* max3(a,b,c) */
iMax4 = max(a,b,c,d) ; /* max4(a,b,c,d) */
という感じなのでしょうか。
そうだとすると
○ C言語では「同じ名前で引数の数が違う関数」というのは定義できません。
→多重定義では無理
○ 「可変長引数」を使うこともできるが、扱い方が難しい
→難易度が高い
となります。
どうしてもやりたいなら「可変長引数」で対応することになりますので、各種資料、stdarg.hのマクロや関数を参考にして勉強してください。
また。全てをmax関数で、というのがこれと違う意味なら、もっと具体的に説明してください。
この回答への補足
定義はmaxof関数でした。
maxof関数を入れ子にして、4つの整数を比べ、その中から1つ最大値を求めたいです。
max1 = maxof(num1, num2);
max2 = maxof(num3, num4);
max = maxof(max1, max2);
コンパイル時にどうしてもエラーがでてしまいます。
上手く、値を評価できていないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# C言語でif文が予想と違う動きをする件について7 4 2023/03/20 00:26
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# C pointer? or... 2 2022/03/29 00:47
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
たらたらたらたーたらたらたら...
-
ダンスの立ち位置がいつも端
-
和を乱す or 輪を乱す
-
ダンスなどで「8呼間」という...
-
ダンスの位置がいつも端
-
ダンス動画の反転バージョンと...
-
エッチな罰ゲーム
-
NA・NA・NA~ NA・NA・NA~、
-
曲名が知りたいです!! とぅと...
-
朝という言葉から連想すること...
-
「アルプス一万尺」の「こやり...
-
女性アイドルの方はどうして全...
-
子供のダンスの発表会にお友達...
-
ウォウォウォウォっウォっウォ...
-
バレエ教室を辞めさせられました
-
ダンスやってそうってよく言わ...
-
曲を探してます。 覚えてる歌詞...
-
ダンスをやりたいです。 22歳で...
-
Pot-Pourri - Rivers of Babylo...
-
ダンスの位置について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダンスの立ち位置がいつも端
-
和を乱す or 輪を乱す
-
たらたらたらたーたらたらたら...
-
私は女子大生です。裸を見せた...
-
エッチな罰ゲーム
-
NA・NA・NA~ NA・NA・NA~、
-
ウォウォウォウォっウォっウォ...
-
曲名が知りたいです!! とぅと...
-
ダンス動画の反転バージョンと...
-
古典 動詞の訳し方
-
フェアリーズは、なぜあまり売...
-
バレエ教室を辞めさせられました
-
ダンスの位置がいつも1番後ろの列
-
海老フライって、身の部分は半...
-
脚の長い子に育てるにはどうし...
-
ダンスの位置について
-
Queen の"We Will Rock You"のR...
-
曲を探してます。 覚えてる歌詞...
-
私は最近元彼の顔を見ると吐き...
-
アセレヘの歌詞の内容を教えて...
おすすめ情報