#include <iostream>
using namespace std;
int main()
{
int somma[9],k=0,f=11;
somma[k]=somma[k]+f;
cout << "somma:" << somma[k];
system("PAUSE");
}
这是我的代码。我期望输出值“11”但得到“10”。 为什么会出现此错误?
最佳答案
使用somma[k]+f
,您正在读取数组somma[0]
的未初始化 元素的值。这样做的行为是未定义。所以输出可以是任何东西。
解决方案是改为编写 int somma[9] = {};
,它将所有元素设置为 0。如果您需要 C 的可移植性,则编写 = {0} ;
代替。
在 C++ 中显式地从 main()
返回一个值也是一个好主意。
您还需要在 using namespace std;
之前换行,但这可能是由于您发布代码的方式所致。
关于c++ - C++ 中的单一错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39793239/