C++ C++;代码输出解释
我有以下代码,问题要求我找到输出。我已经通过输入找到了输出(2),但是我很难弄清楚如何/为什么。有什么帮助吗 代码如下:C++ C++;代码输出解释,c++,loops,pointers,for-loop,output,C++,Loops,Pointers,For Loop,Output,我有以下代码,问题要求我找到输出。我已经通过输入找到了输出(2),但是我很难弄清楚如何/为什么。有什么帮助吗 代码如下: int scores[5]; int *numbers = scores; for (int i=0; i <=4; i++) *(numbers+i)=i; cout << numbers[2] <<endl; int分数[5]; 整数*数字=分数; 对于(inti=0;i,您的代码基本上是这样的 scores[2] = 2; cout&
int scores[5];
int *numbers = scores;
for (int i=0; i <=4; i++)
*(numbers+i)=i;
cout << numbers[2] <<endl;
int分数[5];
整数*数字=分数;
对于(inti=0;i,您的代码基本上是这样的
scores[2] = 2;
cout<<scores[2]<<endl;
分数[2]=2;
coutfor循环执行的唯一语句是
*(numbers+i)=i;
它将使用差异运算符(*)在该位置存储int元素的索引
然后打印出第三个数字,相当于2,因为数组从索引0开始。设置指向数组第一个内存位置的指针,然后遍历内存地址序列并写入。应该注意的是,使用指针算术和解引用
*(pointer + i) = i;
与使用下标运算符相同:
pointer[i] = i;
pointer[i] = i;