我编辑了 1.c 如下。
#include<stdio.h>
int x=100;
int main(void)
{
printf("%p",&x);
while(1);
return 0;
}
然后我打开命令提示符并运行该程序并在程序仍在运行时得到输出 00402000。现在我运行 2.c
#include<stdio.h>
int main(void)
{
int *p=(int *)0x00402000;
printf("%d",*p);
return 0;
}
在命令提示符的另一个实例中并得到输出 -1,我预计 100 位于位置 00402000。请解释为什么会出现这种行为?