我在c ++中使用以下代码
#include <iostream>
using namespace std;
int functionIs();
int main()
{
functionIs();
return 0;
}
int functionIs()
{
int value[3];
value[0] = 0;
for (int i = 0; i < 3; i++)
{
value[i] += i + 1;
}
for (int k = 0; k < 3; k++)
{
cout << "Value = " << value[k];
cout << endl;
}
return 0;
}
输出:
值= 1
值= 2
值= 4197152
有什么问题?
提前谢谢。
答案 0 :(得分:2)
您需要为数组value
中的每个元素指定一个值。您只给第一个元素赋值0:
Value[0] = 0;
如果没有,您可以在位置value[i]
添加内存中的任何内容,只需输入以下代码:
Value[i] += i + 1;
答案 1 :(得分:0)
我认为您正在尝试将一个值添加到数组中的先前值,而不是将i+1
添加到数组中的每个值。尝试将第一个循环更改为:
value[0]=0;
for (int i=1; i<3; i++) {
value[i] = value[i-1]+1;
}
答案 2 :(得分:0)
访问未初始化的变量未定义,如评论中所述。最简单的将数组的所有元素初始化为零
int value[3] = {};
除了:当i
每次迭代都要改变并且分配的元素每次都会改变时,为什么要使用+=
,你可以只分配{{} 1}}并完成它。