我在下面的代码中的目标是查看内存地址实际上是由于 p++ (它确实如此)而改变的,但我无法弄清楚为什么程序停止(但没有终止)以显示内存地址超过 i= 242?换句话说,程序在 242 行之后什么都不做,最后一行“就是这样”永远不会执行。
谢谢
#include <iostream>
using namespace std;
int main()
{
cout<<"start..."<<endl;
int x=100;
int *p = &x;
for (int i=0; i<300; i++)
{
cout<<i<<". &p:="<<p<<" v:="<<*p<<endl;
p++;
}
cout << "that's it!" << endl;
return 0;
}
结果:
start...
0. &p:=0x7fff59c30c34 v:=100
1. &p:=0x7fff59c30c38 v:=1706885214
2. &p:=0x7fff59c30c3c v:=32767
3. &p:=0x7fff59c30c40 v:=1505954904
. . .
240. &p:=0x7fff59c30ff4 v:=946024503
241. &p:=0x7fff59c30ff8 v:=892744247
242. &p:=0x7fff59c30ffc v:=13617