第8章 C言語の関数 ~ 関数の作り方とモジュール分け ~
次に、戻り値についての説明です。戻り値については、以前に演習問題1で習いました。 関数 strlen が、文字列の長さを整数型の戻り値にして、返してくれたのを思い出してみてください。
ここでは、関数 strlen のように、関数 goukeiPrint から戻り値を返してみましょう。 せっかく、合計を計算する関数なのですから、戻り値も合計を返す用にしてみましょう。
リスト21を次のように変更してみてください。
— リスト21````–
#include <stdio.h>
/**
* 関数プロトタイプ宣言
*/
int goukeiPrint(int tanka, int num);
void main() {
int tanka;
int num;
int sum=0;
tanka = 2000;
num = 4;
sum = sum +goukeiPrint(tanka, num);
tanka = 1500;
num = 5;
sum = sum + goukeiPrint(tanka, num);
tanka = 3000;
num = 2;
sum += goukeiPrint(tanka, num);
printf("総計は、%dです。\n", sum);
}
/**
* 単価と個数から、合計を計算して表示する関数
* 計算した値は、戻り値にして返す
*/
int goukeiPrint(int tanka, int num) {
int sum;
sum = tanka * num;
printf("合計は、%dです。\n", sum);
return sum;
}
関数に return を記述すると、たとえ処理がまだ残っていたとしても、関数は終了します。 そして、関数の呼び出し元(ここでは main )に戻ります。
また、return のすぐ後に記述した変数が(注22)、その関数の戻り値になります。ここでは、関数 goukeiPrint は合計した値を返しています。 そして、main 関数の中では、その値を累積していって、最後に総計として表示していますね。
関数の作り方の説明は、ここまでです。
関数は、本来とても便利なものです。しかし、例題が小さいので、 あまりピンと来ないかもしれません。関数の便利さをわかってもらうために、 リスト21を次のように変更してみてください。今まで表示していた合計に、 5%の消費税を上乗せするように変更します。
— リスト21`````–
#include <stdio.h>
/**
* 関数プロトタイプ宣言
*/
int goukeiPrint(int tanka, int num);
void main() {
int tanka;
int num;
int sum=0;
tanka = 2000;
num = 4;
sum = sum + goukeiPrint(tanka, num);
tanka = 1500;
num = 5;
sum = sum + goukeiPrint(tanka, num);
tanka = 3000;
num = 2;
sum += goukeiPrint(tanka, num);
printf("総計は、%d円です。\n", sum);
}
/**
* 単価と個数から、合計を計算して表示する関数
* ・計算には消費税5%分を含める
*/
int goukeiPrint(int tanka, int num) {
int sum;
sum = tanka * num * 105 / 100;
printf("合計は、%d円です。\n", sum);
return sum;
}
変更があったのは、赤字部分だけでしたね。
これが、初めのプログラムのように関数にしていない場合は、 3カ所も同じように変更する必要があります。
たったの3カ所なら直すのも、さほど労力ではないかもしれません。 しかし、みなさんが実際にプロジェクトに入るようになると、 プログラムは何千行、何万行にもなってきます。 このときに、関数にするべき処理を、関数にしておかないと、たいへんなことになってしまいます。
それに、研修の後半になれば、関数を必要とするプログラムを作ってもらうことになります。
< 前のページへ 次のページへ >-
IS 559680 / ISO27001
認証範囲 本社情報セキュリティ基本方針 -
個人情報保護方針
個人情報の取扱いについて
保有個人データ又は
第三者提供記録に関する
事項の周知について
特定個人情報の取扱いについて -
FS 671851 / ISO9001
認証範囲 本社品質方針







