8.2角色互换如何通过函数调用实现代表2个角色的变量互相..三套方案swapl () swap2() swap3()哪个方案能成功?
8.2 角色互换 如何通过函数调用实现代表2个角色的变量互 相. 三套方案 ◼ swap1() ◼ swap2() ◼ swap3() 哪个方案能成功?
例8-3指针作为函数参数模拟角色互换调用哪个函数,可以交换main()int main (void)inta= 1, b = 2;中变量a和b的值?int*pa=&a,*pb=&b;void swap1(int x, int y),swap2(int *px, int*py ),swap3 (int *px, int*py);swap1 (a, b);printf ("After calling swap1:a=%d b=%din",a, b);a=1; b=2;swap2(pa,pb);printf("After callingswap2: a=%d b=%din",a, b);a=1; b=2;swap3(pa,pb);printf("Aftercallingswap3:a=%db=%dln",a, b);return O;1
例8-3 指针作为函数参数模拟角色互换 int main (void) { int a = 1, b = 2; int *pa = &a, *pb = &b; void swap1(int x, int y), swap2( int *px, int *py ), swap3 (int *px, int *py); swap1 (a, b); printf (“After calling swap1: a=%d b=%d\n”, a, b); a = 1; b = 2; swap2(pa, pb); printf (“After calling swap2: a=%d b=%d\n”, a, b); a = 1; b = 2; swap3(pa, pb); printf (“After calling swap3: a=%d b=%d\n”, a, b); return 0; } 调用哪个函数,可以交换main () 中变量a和b的值?
例8-3swap1()swap1 (a, b);void swap1 (int x, int y) int t;t= x;x= y;y= t;1
例8-3 swap1() swap1 (a, b); void swap1 (int x, int y) { int t; t = x; x = y; y = t; }
例8-3swap2()swap2 (&a, &b);void swap2 (int *px, int *py)( int t;t =*px;*px = *py;*py = t;1
例8-3 swap2() swap2 (&a, &b); void swap2 (int *px, int *py) { int t; t = *px; *px = *py; *py = t; }
例8-3swap3()swap3(&a,&b);void swap3 (int *px, int *py) int*pt;pt = px;After calling swap1:a=1, b=2px = py;After calling swap2: a=2, b=1py = pt;After calling swap3: a=1, b=21
例8-3 swap3() swap3 (&a, &b); void swap3 (int *px, int *py) { int *pt; pt = px; px = py; py = pt; } After calling swap1: a=1, b=2 After calling swap2: a=2, b=1 After calling swap3: a=1, b=2