Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;代码输出解释_C++_Loops_Pointers_For Loop_Output - Fatal编程技术网

C++ C++;代码输出解释

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&

我有以下代码,问题要求我找到输出。我已经通过输入找到了输出(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<<scores[2]<<endl;
分数[2]=2;

coutfor循环执行的唯一语句是

*(numbers+i)=i;
它将使用差异运算符(*)在该位置存储int元素的索引


然后打印出第三个数字,相当于2,因为数组从索引0开始。

设置指向数组第一个内存位置的指针,然后遍历内存地址序列并写入。应该注意的是,使用指针算术和解引用

*(pointer + i) = i;
与使用下标运算符相同:

pointer[i] = i;
pointer[i] = i;