質問 |
||
| QNo.4017909 | 関数の引数と実引数の取り扱いについて | |
|---|---|---|
| 質問者:asa_hikawa |
C言語初心者です. 関数の引数と実引数の取り扱いについて,教えていただきたいことがあります. 例えば,2変数の和を求める関数を考えると,以下のようになると思います. #include <stdio.h> double sum(double x, double y); int main(void) { double a, b, wa; a=2.0; b=3.0; wa=sum(a,b); return 0; } double sum(double x, double y) { double total; total=x+y; return total; } このとき,mainプログラムでは,a,bふたつの変数を定義しておいて,関数sumに入れて計算させているわけですが,mainプログラムで変数x,yを定義しておいて,以下のようなプログラムにするのはありでしょうか? 参考書などをみると,前者のように取り扱っているようなのですが,試しに後者で実行させてみても同じ結果となりました. #include <stdio.h> double sum(double x, double y); int main(void) { double a, b, wa; a=2.0; b=3.0; wa=sum(a,b); return 0; } double sum(double x, double y) { double total; total=x+y; return total; } |
|
困り度:
|
||
| 質問投稿日時: 08/05/12 23:09 |
||
回答 |
|
| ANo.3 | 一箇所typoがありました。 後者の「前者」は「後者」が正しいです。あ〜ややこし。 |
|---|---|
| 回答者:asuncion | |
| 種類:回答 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/12 23:42 |
|
| |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |
回答良回答20pt |
|
| ANo.2 | > 以下のようなプログラムにするのはありでしょうか どちらも全く同じです。 前者は、sum関数呼び出し時の実引数a,bが、それぞれsum関数の仮引数x,yに正しく対応しています。 前者は、sum関数呼び出し時の実引数x,yが、それぞれsum関数の仮引数x,yに正しく対応しています。 ところで、せっかく和の値を求めたのですから、出力する方がよいと思いませんか? |
|---|---|
| 回答者:asuncion | |
| 種類:アドバイス どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/12 23:40 |
|
| |
| この回答へのお礼 | 結局,対応関係を間違えないようにすれば,計算をしてくれるのですね? ありがとうございました. > ところで、せっかく和の値を求めたのですから、出力する方がよいと思いませんか? はい.もちろん,そうします. |
回答 |
|
| ANo.1 | 前者のコードと後者のコードが全く同じであるように見えます。 どこが違っていますか? |
|---|---|
| 回答者:asuncion | |
| 種類:補足要求 どんな人:一般人 自信:参考意見 |
|
| 回答日時: 08/05/12 23:20 |
|
| |
| この回答への補足 | すみません.後者のコード,正しいのは以下です. #include <stdio.h> double sum(double x, double y); int main(void) { double x, y, wa; x=2.0; y=3.0; wa=sum(x,y); return 0; } double sum(double x, double y) { double total; total=x+y; return total; } |
| この回答へのお礼 | この回答にお礼をつける(質問者のみ) |