我正在学习函数,尝试在for循环中调用函数中的最后一个"总计(total)"值(即在函数中标记为“到目前为止的总计”),以便在主函数中打印出36(当测试数字为8时)。但是结果并未输出36。
我明白之所以无法输出36的原因是因为我将total作为局部变量处理,我认为我需要将其作为全局或静态变量来使用,但我不确定如何操作。
我尝试将其定义为静态变量,但我不确定我是否做对了,我在定义变量时在两个total变量前面写了static关键字。
#include <iostream>
using namespace std;
int sum(int count);
int main()
{
int count;
double num, total;
cout << "Please enter a number: ";
cin >> num;
for (count = 1; count <=num; count = count + 1)
{
sum(count);
}
cout << "Your total is: " << total << endl;
return 0;
}
int sum(int count)
{
double total;
total = total + count;
cout << "Current number: " << count << endl;
cout << "Total so far: " << total << endl;
}
total
呢?你已经将函数声明为int
。从你的函数中返回total
并将其存储在你在主函数中定义的total
中,或者你可以将total
作为引用传递给你的sum
函数,并删除sum
中的total
声明。 - HMDmain()
函数中将sum()
的返回值赋值给total
变量。 - Remy Lebeautotal
变量。就像这样:total += sum(count);
但是请记住,你需要先初始化你的total
变量,就像这样:double total = 0.0;
- HMD