【課題4−6 関数から値を返す】
<配列を使って複数の値を返す>
(例) //呼び出しもと
int a=5,
b=6;
int
result[4];
...
arithmetic(a,
b, result);
//関数側
void
arithmetic(int x, int, y, int *p) {
*p
= x + y;
*(p+1)
= x -y;
*(p+2)
= x * y;
*(p+3)
= x / y;
}
この例では関数arithmeticの中で,呼び出し元で用意した配列resultの領域に演算結果を書き込むことで,4つの値を返している.
<変数を使って複数の値を返す>
配列ではなく変数の中身に直接値を代入することも可能.
(例) //
呼び出しもと
int a=5,
a=6;
int wa, sa,
seki, shou;
arithmetic(a,
b, &wa, &sa, &seki, &shou);
// 関数側
void
arithmetic(int x, int, y,
int *sum, int *dif, int *mul, int *div)
{
*sum
= x + y;
*dif
= x - y;
...