#include <iostream>
using namespace std;
int main()
{
int a[4] = {7,9,3,4};
for (int i = 1; i < 4; i++) {
a[0]+=a[i]+1;
}
cout << a[0];
}
我通过编译器运行此代码,答案结果是26.现在我试图了解如何得出答案。
我很确定for循环初始化以计数器变量1开始,条件是i&lt;最初为真的4,循环将继续增加i,输出为1,2,3,直到i = 4,条件为假。
现在我不明白接下来会发生什么。我是否将索引a [0]设为7并将其添加到&#34; a [i] + 1&#34;?如果是这样的话,&#34; a [i] + 1&#34;?
的价值是多少答案 0 :(得分:2)
它正在做3个步骤:
a[0] += a[1] + 1
a[0] += a[2] + 1
a[0] += a[3] + 1
即:
a[0] = 7 + 9 + 1 = 17
a[0] = 17 + 3 + 1 = 21
a[0] = 21 + 4 + 1 = 26
它给出了数组加3的总和,因为计算中有三个步骤。
答案 1 :(得分:2)
在这个循环中
for (int i = 1; i < 4; i++) {
a[0]+=a[i]+1;
}
a[0]
根据每次迭代中循环变量a[1] + 1
的变化,分别累积(包括其中的a[2] + 1
,a[3] + 1
和i
的值循环。
由于a[0]
的初始值为7
int a[4] = {7,9,3,4};
然后你会有
7 + ( 9 + 1 ) = 17
17 + ( 3 + 1 ) = 21
21 + ( 4 + 1 ) = 26