在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;
}