我正在尝试一些基本的指针操作,并且有一个我想澄清的问题。这是我所指的代码片段
int arr[3] = {0};
*(arr+0) = 12;
*(arr+1) = 24;
*(arr+2) = 74;
*(arr+3) = 55;
cout<<*(arr+3)<<"\t"<<(long)(arr+3)<<endl;
//cout<<"Address of array arr : "<<arr<<endl;
cout<<(long)(arr+0)<<"\t"<<(long)(arr+1)<<"\t"<<(long)(arr+2)<<endl;;
for(int i=0;i<4;i++)
cout<<*(arr+i)<<"\t"<<i<<"\t"<<(long)(arr+i)<<endl;
//*(arr+3) = 55;
cout<<*(arr+3)<<endl<<endl;
我的问题是:当我尝试在 for-loop 之外访问 arr+3 时,我得到了所需的值 55 打印。但是当我尝试通过 for 循环访问它时,我得到了一些不同的值(在这种情况下为 3)。在 for 循环之后,它将值打印为 4。有人可以向我解释发生了什么吗?提前致谢..