#include <stdio.h> //创建传递指针的方法 void swap(int* pi,int*pj){ int temp=*pi; *pi=*pj; *pj=temp; } main(){ int i=5; int j=7; //之前 printf("%d i ",i); printf("%d j ",j); int* pi=&i; int* pj=&j; swap(pi,pj); //之后 printf("%d i ",i); printf("%d j ",j); system("pause"); }
如果我们不用指针进行交换而是直接进去两个值,在内存中会重新创建两个地址然后进行交换,当函数运行完毕就会被销毁,所以根本不会把传进去的值进行交换。