次のプログラムは、「定価が5000円以上ならば、支払い金額を1割引するプログラム」です。このプログラムでは、定価が5000円以上ならば支払い金額を1割引するwaribiki関数を作って、実際にキーボードで入力した定価から支払い金額を求めるのにwaribiki関数を呼び出して利用します。
<実引数に変数を利用する>
このプログラムでは、11行目のwaribiki(okane)のように、実引数に変数okaneが利用されています。そのため、キーボードから入力したデータを変数okaneに収納してから、そのデータをさらに仮引数の方に受け取らせることが可能です。実際、実引数には定数、変数、式(定数や変数を演算子で結んだもの)を書くことができます。ただし、仮引数はデータを受け取る器なので変数しか書けません。
<printf関数に直接書く>
関数の呼び出し部分は、次のようにprintf関数の中に直接書くことも出来ます。
![]()
<waribiki関数の作成>
このプログラムでは、waribiki関数を次のように作って利用しています。
(1)関数名をwaribikiにしています。
(2)実引数kingakuからデータを受け取る仮引数の型宣言をしています。(実引数が1つ(okaneだけ)なので、仮引数も対応して1つ(kingakuだけ)です。)
(3)呼び出し元に戻る戻り値の型宣言をしています。
(4)waribiki関数の処理内容を記述します。
(5)return文を使って、戻り値(処理結果)を呼び出し元に戻します。
<複数のreturn文を利用する>
上のプログラムでは、return文が1つしか利用されていませんが、次のようにreturn文を複数利用して記述することも可能です。
returnは、関数の中に何回出てきてもかまいません。ただし、最初に出会ったreturn文で、その関数を終了します。また、kingaku*0.9のように戻り値に式を直接書くことも可能です。
<プログラムの流れ>
フローチャートは、次のようになります。