我觉得应该是变量声明的问题,上面你已经声明了a,b都是整型常量,不可改变,通过*p想得到a=b的结果,这显然是不等的,2能等于5么? ( *p=a;a=b;b=*p;)这一步就是错的啊,我想应该不是书写错误而是逻辑错误。我也是才学的新人,如果回答的全然不对不要笑我。我才开始学的,才到数据结构,还没开始学指针```````
[此贴子已经被作者于2007-10-20 10:55:29编辑过]
#include<stdio.h>
main(){ int a=2,b=5,*p; p=&a; a=b; b=*p; printf("a=%d,b=%d\n",a,b); return 0;
}
首先指针是不能做中间变量的,容易出错 *p=a; 将a的地址给p a=b; b=*p; 再将p赋给b就会出错!