Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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++ - Fatal编程技术网

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谢谢你的帮助。我很乐意帮助。说到这里,你的代码是无效的,因为你写的是
,而不是