/* 2整数を交換する関数(サブルーチン)*/ #include swap(int *x, int *y) { int dmy=*x; *x=*y; *y=dmy; } main() { int a, b; printf("a= " ); scanf("%d", &a); printf("b= " ); scanf("%d", &b); swap(&a, &b); printf("a= %d\n", a); printf("b= %d\n", b); exit(1); } /* C言語の関数の受け渡しは、実パラメタのコピーを仮パラメタが*/ /* 受け取る値渡しで行われる。swap関数中でxとyの値をひっくり*/ /* かえしても、呼び出し側の実パラメタには何の影響も与えない。*/ /* したがってこの解答のようにアドレスを引数に受け取って */ /* 処理を行う */