一:创建变量实现交换
1.#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int c;
printf("before change:a=%d b=%d\n",a,b);
c = a;
a = b;
b = c;
printf("after change:a=%d b=%d\n",a,b);
return 0;
}//可成功运行
//如使用函数调用,结果则不发生改变
void swap(int x,int y)
{int temp; /*该错误属于运行式错误,
temp=x; 形式参数在内存中创立了新的空间,,
x=y; 运行调用函数后,只改变了x,y的地址空间内容,
y=temp; 而实参a,b的实际内容却并未改变。*/
}
2.改传值调用为传址调用
</pre></p><pre name="code" class="cpp">void swap(int *p1,int *p2)
{
int temp=*p1;
*p1=*p2;
*p2=temp
}//通过指针改变了变量的内容并未改变变量地址
3.利用指针通过改变变量的地址实现内容交