示例:
#include<stdio.h>
int main(){
int k = 2;
int *p1,*p2;
p1 = &k;
p2 = &k;
k = *p1 + *p2;
printf("第一次的k:%d\n",k);
printf("此时的*p1和*p2为:%d %d\n",*p1,*p2);
k = *p1*(*p2);
printf("第二次的k:%d\n",k);
return 0;
}
输出结果:
第一次的k:4
此时的*p1和*p2为:4 4
第二次的k:16
从上述代码和输出结果可以看出:
星p1和星p2的值不是一直都是2,后面k的值变化了,由于p1和p2是一直指向k的,所以星p1和星p2也在随着k变化,也就是后来变成了都是4,于是最后结果是16