int *ptrr;
int array[3];
for(int i=3;i>0;--i){
array[i]=i*100;cout<<array[i]<<" "<< & array[i]<<endl;
}
ptrr=array;
for(int i=3;i>0;--i){
cout<<*(ptrr+i)<<" ";
}
cout<<endl;
for(int i=3;i>0;--i){
cout<<ptrr[i]<<" ";
}
cout<<endl;
cout<<ptrr<<" "<<*ptrr<<" "<<*ptrr+1<<*ptrr+2<<endl;
我有一个基本的问题,我能够通过循环中的指针访问数组元素,但是当单独访问它时会弹出奇怪的值。指针仍然是不同的值。问题是什么..?无法通过指针访问数组值
输出:
300 0x7ffface5538c
200 0x7ffface55388
100 0x7ffface55384
300 200 100
300 200 100
0x7ffface55380 -1394257008 -1394257007 -1394257006
你正在走出数组的界限。改变所有'for(int i = 3; i> 0; - i){'to'for(int i = 2; i> = 0; - i){'。 – songyuanyao
您的代码不完整;特别是它似乎缺少'main()'函数和至少一个'#include'。请[编辑]你的代码,这是你的问题[mcve],然后我们可以尝试重现并解决它。你还应该阅读[问]。 –