作业帮 > 综合 > 作业

c语言,两数是怎样互换顺序的

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 21:38:57
c语言,两数是怎样互换顺序的
main()
{ int *p1,*p2,a1,a2,a;
a1=10;
a2=20;
p1=&a1;
p2=&a2;
a=*p1;*p1=*p2;*p2=a;
printf ("a1= %d,a2= %d \n",a1,a2);
}
其实就是内存地址的内容互换了;
p1 = &a1,就是取了a1在内存中的地址给p1,这个指针,那么p1就指向了a1的那块内存.
同理p2指向a2的内存.
然后*p1是取p1内存中的内容,也就是a1,赋值给a;
然后把*p2把p2内存的内容给*p1指向的内存.然后把a的值给p2指向的内存,*p2 = a;完成值的互换.