みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

合計値を求める関数

#include<iostream>
using namespace std;

//sum関数の定義
int sum(int x, int y)
{
return x + y; 
}

int main() {

int num1, num2, ans;

cout << "1番目の整数を入力して下さい。\n";
cin >> num1;

cout << "2番目の整数値を入力して下さい。\n";
cin >> num2;

ans = sum(num1, num2);

cout << "合計は" << ans << "です。\n";

return 0;

}

 ここのreturn x+y;の所の合計値を戻り値として返す処理の仕組みを解りやすく教えて欲しいです、戻り値はちょっと解りづらいです、よろしくお願いします。

投稿日時 - 2018-06-26 13:35:09

QNo.9512351

困ってます

質問者が選んだベストアンサー

 呼び出す側から、読みましょうか。
 ans = sum(num1,num2)
 で、sum(num1,num2)は、この関数の結果(戻り値)に置き換えられます。
 で、この「結果(戻り値)」とは何ですか?の答えが、関数sumの中のreturnの後ろに書いてある式の結果です。となります。
 sumの定義を見ると、returnの後ろに書いている式は、x+yですから、これを計算した結果(sumの中で計算した結果です。勘違いしないように。)となります。
 return 0なら、0が、「結果(戻り値)」となります。return x+yなら、この式の答えが「結果(戻り値)」となります。表現を揃えるなら、return 0は、「0」という式(定数だって式なんです。)の答えが「結果(戻り値)」となるとも言えます。

投稿日時 - 2018-06-26 22:19:09

お礼

回答ありがとうございます、
ペストアンサーにします。

投稿日時 - 2018-06-27 19:31:59

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>ここのreturn x+y;の所の合計値を戻り値として返す処理の仕組みを解りやすく教えて欲しいです

>int sum(int x, int y)
>{
>return x + y;
>}

下記と等価です。
上記は「return」実行時に「x + y」を計算しているだけです。

int sum(int x, int y)
{
int z;
z = x + y;
return z;
}

投稿日時 - 2018-06-26 17:20:26

お礼

回答ありがとうございます

投稿日時 - 2018-06-27 19:32:18