我是C ++世界的新手,并且在其他任何语言方面都没有太多经验,所以请原谅我的语法和缩进等错误......
有人可以向我解释为什么这个简单的程序会打印我输入的数组值,但是不会加上数组值吗?
#include <iostream>
using namespace std;
int main(){
int alpha[8];
int sum=0;
for(int x=0; x<8; x++){
cin>>alpha[x];
}
for(int x=0; x<8; x++){
cout<<alpha[x];
sum += alpha[x];
return sum;
}
cout<<sum;
return 0;
}
答案 0 :(得分:1)
在您的第二个for
声明中,您有一个return
。代码到达return
并退出程序。
您可能希望将代码移至函数以保留return
或将其删除。
顺便说一下,您可以使用调试器找到它。
答案 1 :(得分:1)
这个程序只会打印第一个值,然后当你在for循环中放入一个return语句时它会结束
for(int x=0; x<8; x++){
cout<<alpha[x];
sum += alpha[x];
return sum; /* it will end up here */
}
删除此声明,您将获得所有打印的值和总和
答案 2 :(得分:1)
答案的 感谢您的帮助,我修改了我的代码并将其改为:
#include <iostream>
using namespace std;
int main()
{
int alpha[8];
int sum = 0;
for (int x = 0; x<8; x++)
{
cin >> alpha[x];
}
for (int x = 0; x<8; x++)
{
cout << alpha[x];
}
for (int x = 0; x<8; x++)
{
sum = sum + alpha[x];
}
cout << sum;
system("PAUSE");
return 0;
}
尝试了你的建议,我最初无法使它工作,所以我摆弄了格式。该计划似乎现在有效。我认为我的格式化后“返回”删除有问题,或者我的Eclipse / MinGW设置存在程序错误。我似乎在Visual Studio上取得了更大的成功。