首页 > 解决方案 > 在这种情况下如何存储数组的总和

问题描述

问题出在内部for循环中

for (int i=0, j=0; i<n; i++, j++){
        if (i != j){
            cout << sum = sum + arr[j] <<endl;
            *//error: overloaded function type*
        }
    }

cout << sum = sum + arr[j] <<endl;

标签: c++sum

解决方案


这是运算符优先级的问题。

可以通过将表达式放在括号中来解决:

cout << (sum = sum + arr[j]) << endl;

然而,这是一种非常糟糕的风格,你应该把它分成两行:

sum += arr[j];
cout << sum << endl;

你未来的自己,以及任何阅读你代码的人,都会感谢你。


推荐阅读