導入
引数で値を渡し、return で結果を返す関数を作ります。「入力を受け取り、結果を返す」部品の基本形です。
説明
引数には型を付けて宣言します。return で返す値の型が、関数の戻り値の型になります。
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main(void) {
int result = add(3, 5); // 戻り値を受け取る
printf("%d\n", result); // 8
printf("%d\n", add(10, 20)); // 直接使ってもよい
return 0;
}
戻り値の型は用途に合わせます。面積を小数で返すなら double、真偽を返すなら(C には昔から真偽専用の型がないので)int で 1/0 を返すのが定番です。
#include <stdio.h>
double area(double w, double h) {
return w * h;
}
int is_even(int n) {
return n % 2 == 0; // 真なら 1、偽なら 0
}
int main(void) {
printf("%.1f\n", area(4.0, 2.5)); // 10.0
printf("%d\n", is_even(6)); // 1
return 0;
}
double を表示する %.1f は「小数第1位まで」の書式です。
やってみよう
add に渡す数を変えて結果を確かめましょう。is_even にいろいろな数を渡してみてください。
演習
2つの int を受け取り、その積を返す関数 multiply を定義し、multiply(6, 7) の結果を表示してください(結果は 42)。
ヒント1を見る
int multiply(int a, int b) { return a * b; }、main で printf("%d\n", multiply(6, 7));。