c语言中关于调用函数里指针互换,主函数对应指针变量是否也互换?
如果否,请给下解释。
#include <stdio.h> void swap(int* a,int* b) { int* t=a; a=b; b=t; printf("@@@@@ a=%d b=%d \n",*a,*b); } void swap2(int a,int b) { int tmp; tmp=a; a=b; b=tmp; printf("##### a=%d b=%d \n",a,b); } int main() { int a=55; int b=66; swap(&a,&b); printf("now a=%d b=%d \n",a,b); swap2(a,b); printf("now a=%d b=%d \n",a,b); return 0; } /* @@@@@ a=66 b=55 now a=55 b=66 ##### a=66 b=55 now a=55 b=66 */