1、指针修改内存数据一开始的小疑惑
1,猜想的最后打印的结果是a=15,b c *p的值都为99,但事实并不如此。
<pre name="code" class="csharp">#include<stdio.h>
int main()
{
int a =15, b = 99, c = 222;
int *p = &a;
printf("%d %d
",a,*p);
*p = b; //此时把p指向的地址存放的a的值已经被b的值重新覆盖,a=b:
printf("%d %d
",a,*p);
c = *p;
printf("%d %d %d %d
",a,b,c,*p);
return 0;
}
打印结果为:
15 15 99 99 99 99 99 99