&a, &b
(變數前加 &
符號),函式內取該位址上的值 *x, *y
(變數前加 *
符號)。
[dywang@dyw219 zzz]$ vim function3.c [dywang@dyw219 zzz]$ cat function3.c #include <stdio.h> void swap(int *x, int *y) { int temp; temp = *x; *x = *y; *y = temp; return; } main() { int a, b; printf("Enter TWO integers: "); scanf("%d %d", &a, &b); printf("Before swap, a = %d, b = %d\n", a, b); swap(&a, &b); printf("After swap, a = %d, b = %d\n", a, b); }
[dywang@dyw219 zzz]$ gcc -o function3 function3.c
[dywang@dyw219 zzz]$ ./function3 Enter TWO integers: 10 20 Before swap, a = 10, b = 20 After swap, a = 20, b = 10 [dywang@dyw219 zzz]$ ./function3 Enter TWO integers: 21 11 Before swap, a = 21, b = 11 After swap, a = 11, b = 21