C++ 前五个自然数之和
我想得到前五个自然数的和,但在这段代码中有些地方出错了,需要找出错误吗?帮助C++ 前五个自然数之和,c++,C++,我想得到前五个自然数的和,但在这段代码中有些地方出错了,需要找出错误吗?帮助 #include <iostream> #include <cstdlib> using namespace std; int main() { int i = 1, thesum; while(i <= 5) { thesum += i; i++; } cout << thesum; r
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int i = 1, thesum;
while(i <= 5)
{
thesum += i;
i++;
}
cout << thesum;
return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
inti=1,thesum;
while(i您尚未初始化sum
变量。请将其初始化为0
int i = 1, thesum = 0;
否则它将调用未定义的行为,正如前面指出的,您没有初始化局部变量thesum,因此它有一些任意值。 此外,不需要包含标题
,因为没有使用来自它的任何声明。
由于变量i不在循环外部使用,因此最好将其设置为循环的局部变量
所以我会用下面的方法重写程序
#include <iostream>
using namespace std;
int main()
{
const int N = 5;
int theSum = 0;
for ( int i = 0; i < N; i++ ) theSum += i + 1;
cout << "The sum of first " << N << " natural numbers is " << theSum << endl;
return 0;
}
#包括
使用名称空间std;
int main()
{
常数int N=5;
int theSum=0;
对于(inti=0;i 什么不起作用?输出不同吗?它不会编译吗?它崩溃了吗?由于奇怪的缩进而错过了一个右大括号?初始化thesum=0
非常感谢!:)它被称为“未指定的值”,更糟糕的是,它无法从中读取(这是+=
所要求的)。最好认为未初始化的对象没有任何价值。我想你会说一些新的东西…似乎这对你来说是新的知识:)@Lightness Races in Orbital谢谢你的帮助。我很乐意帮助。说到这里,你的代码是无效的,因为你写的是”
,而不是“
。