执行下列语句后的结果为()。
int x=3,y;
int *px=&x;
y=*px++;
答案:x=3,y=3,实在没想明白,网上说的也是各种解释,看晕了,
百度的没看明白,感觉都没说到点
#include
#include
#include
using namespace std;
int main()
{
int x=3,y;
int *px=&x;
printf("px=%p,x=%d\n",px,*px);
y=*px++;
printf("px=%p,x=%d,y=%d",px,*px,y);
return 0;
}
我自己编译运行后结果
px=000000000065FE10,x=3
px=000000000065FE14,x=3,y=3
px的地址是变化了的,哪*px为什么有没变呢,想不明白,指向都变了