ページ 11

C言語 関数の使い方について

Posted: 2010年10月21日(木) 20:58
by
「異なる2つの整数を任意入力し、その値の小さい方を出力する」
という問題です。
main関数の「ローカル変数x、yが初期化されていない」とエラーが出ます。
どう直したら良いのか教えていただきたいです。
見づらいプログラミングかと思いますが、よろしくお願いします。

Re:C言語 関数の使い方について

Posted: 2010年10月21日(木) 21:02
by シエル
main関数内のx、yを初期化すればよいかと。

x=0;
y=0;

でOKかと。

Re:C言語 関数の使い方について

Posted: 2010年10月21日(木) 21:12
by CUMA
main関数内の

m=min(x,y);

の部分が少しおかしいです。

というのも、最初に
int x,y,m;

の部分でxとyは整数としましたが、
実際どういう数字が入るのかがわかっていません。

わからない数字をmin関数の処理が有る場所に渡すのはよろしくないのでエラーが出ます。


お勧めは、入出力はmain関数内で全て集約して、
比較して小さいほうの値を返すような機能を関数化する書き方です。

Re:C言語 関数の使い方について

Posted: 2010年10月21日(木) 22:19
by 初級者
【質問】
1)結果を出力した後で、xとyに0を代入している理由は何ですか?

2)math.hをインクルードしている理由は何ですか?

3)return文のインデントがずれている理由は何ですか?

【改善案】
1)変数mをいっさい使わなくてすむ書き方があります。考えてみてください。

Re:C言語 関数の使い方について

Posted: 2010年10月22日(金) 00:05
by
シエルさん、CUMAさん>>
分かりました!ありがとうございました!

初心者さん>>
1)「初期化されていない」とエラーが出たので
ここにx、y=0とすれば初期化されると思っていました。
でもこれだと0を代入してただけですよね…

2)前のプログラミングのものを消し忘れてしまいました。
エラーが出なかったので必要なのかなと思いそのままにしました。

3)PNGにするときに間違えて揃えてしまいました;;
実際はずれていないです。


mを使わなくても済むんですか…
やってみます、どうもありがとうございました!