【发布时间】:2019-09-19 16:36:46
【问题描述】:
我应该对所有自然数的平方求和,直到它到达某个输入,但结果变得比它应该的要大。当我将 3 设置为输入时,结果变为 3*10⁹ 左右,请问我是否遗漏了数据类型或操作的错误?
顺便说一句,什么时候使用函数比在主代码中编写任何内容更有效?我对何时应该或不应该使用它们有很多疑问。
感谢任何可能阅读它的人。
#include <iostream>
using namespace std;
int main(){
int input, sum;
cin >> input;
for(int i = 1; i <= input; i++){
sum += i*i;
}
cout << sum << endl;
}
【问题讨论】:
-
sum在int input, sum;行之后的值是多少?因为您在sum += i*i;之前从未分配它,它会在添加之前读取sum的值。 -
也就是说先初始化
sum -
应该是0,是sum声明唯一的错误吗?
-
似乎是,是的。
-
我会选择 sum = 0 而不是 sum = o。
标签: c++ loops for-loop variables initialization