アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語の関数で戻り値を返す必要がない場合は型の宣言をvoidと説明されますが、戻り値を返す必要がないという意味がわかりません。分かりやすい説明お願いします。

A 回答 (3件)

こんな例で如何でしょうか。


"a+ b = 3" を3つの関数を使用して表示します。

-----
#include<stdio.h>

/* 戻り値を返す関数 */
int add1(int x, int y){
return x + y;
}

/* 戻り値を返さない関数 */
/* 結果を第1引数のポインタ経由で書き込む*/
void add2(int* p, int x, int y){
*p = x + y;
}

/* 戻り値を返さない関数 */
/* 関数内で表示するので返す必要がない*/
void add3(int x, int y){
printf("a + b = %d\n", x + y);
}


int main(void) {

int a = 1;
int b = 2;
int c;

printf("a + b = %d\n", add1(a,b));

add2(&c, a, b);
printf("a + b = %d\n", c);

add3(a, b);

return 0;
}
-----
実行結果
a + b = 3
a + b = 3
a + b = 3
-----
    • good
    • 1
この回答へのお礼

具体的な例ありがとうございます。おおよそ理解できました!

お礼日時:2017/11/25 08:37

仕事(関数)をしてください、報告(戻り値)は不要だ



という場合ですね。

例えば、内部変数の初期化処理があるとします。それは、ただ0または空白を内部変数に代入するだけです。戻り値は入りません。
    • good
    • 1

例えば exit とか.

    • good
    • 1

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