#include double avesub_ptr(double *, double *, double *); /* プロトタイプ宣言 */ int main() { double a, b, c, ave; printf("3つ値を入力してください:\n"); scanf("%lf%lf%lf", &a, &b, &c); ave = avesub_ptr( &a, &b, &c ); /* 関数の呼び出し */ /* main側の変数を関数の中で変更させるには、関数にアドレスを渡して 変数のありかを知らせる必要がある */ printf("平均: %.3f\n", ave); printf("平均差し引き後のデータ: %+.3f %+.3f %+.3f\n", a, b, c); return 0; } /* 3つの数からそれらの平均値を引き算する関数。戻り値はその平均値。 仮引数の文字は、対応がとれていれば何でもよい */ double avesub_ptr(double *a, double *b, double *c) { double ave; ave = (*a + *b + *c)/3.0; *a -= ave; *b -= ave; *c -= ave; return ave; }