Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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> using namespace std; int num(int n){ for(int i= 1 ; i<=n ; i++){ int sum=0; sum += i; cout<<sum; } } 我试着查了一下,但没有找到结果。。。。 我总是有一些循环的问题 您正在丢弃以前迭代计算的内容。 您没有返回已计算的内容。 要修复此问题,请从循

我想这部分很清楚

#include <iostream>
using namespace std;

int num(int n){
    for(int i= 1 ; i<=n ; i++){
       int sum=0;

       sum += i;
       cout<<sum;

     }
}
我试着查了一下,但没有找到结果。。。。 我总是有一些循环的问题

您正在丢弃以前迭代计算的内容。 您没有返回已计算的内容。 要修复此问题,请从循环中获取i的声明和初始化并返回结果

int main()
{
    int x;
    cout<<"enter the value of x ";
    cin>>x;

    int answer=num(x);
    cout<<"the total sum of the first n integer is "<<answer;

    return 0;
}

尝试将变量sum的定义和初始化移动到for循环的外部,最好在它之前。不要忘记函数的返回值。

函数num应该返回变量sum,变量sum应该在for循环外部定义

你的代码应该是

#include <iostream>
using namespace std;

int num(int n){
    int sum=0;
    for(int i= 1 ; i<=n ; i++){

        sum += i;
        cout<<sum;

    }
    return sum;
}

这是一个明显的错误:函数num应该返回变量sum。您可以使用4个空格缩进代码。您可以将过去的代码从编辑器复制到此处,然后选择并高亮显示代码块中的所有文本,并在仍高亮显示的同时按ctrl+k。这将自动将每行缩进四个空格。这有助于在这个网站上更快地编辑。@prathesh.kallougar这不是代码中唯一的错误。@FrancisCugler我看到了。它是循环中的整数和。在循环中定义int sum会导致在循环的每次迭代中销毁并重新创建它。int sum不会在整个循环中持续存在,因此不会包含任何形式的累积结果。作用域也防止函数返回int-sum。我之前写过,仍然没有改变。它最终对您有效,但在我的答案之前有一个数字,如:当我输入数字3时,显示:136 n整数的总和为6@IanTwy在int numint n函数中,输入数字3时不要使用coutw,显示:136 n整数的总和是6为什么是这样?因为您是通过cout打印日志的
#include <iostream>
using namespace std;

int num(int n){
       int sum=0; //sum should be declared outside for loop
         for(int i= 1 ; i<=n ; i++){
              sum += i;
             // cout<<sum;  //dont print sum here it will be printed in main()
         }
  return sum; //you missed this
}
int main()
{
       int x;
       cout<<"enter the value of x ";
       cin>>x;
       int answer=num(x);
       cout<<"the total sum of the first n integer is "<<answer;
       return 0;
}