房天下 > 房天下问答 > 业主生活 > 其他
  • C++编译问题2

    输入数组的10个数,求出和代码如下:#include<iostream>using namespace std;int main() //一维数值型数组应用1;主函数调用子函数{void s();cout<<"please enter 10 numbers:"<<endl;int i;int a[10];for (i=0;i<10;i++){cin>>a[i];} s();return 0;}void s(){int sum=0;int i;int b[10];for (i=0;i<10;i++){ sum=sum+b[i];}cout<<"sum="<<sum<<endl;}输入从1到10,答案应该是55,但它算出来却是-8.这是什么问题?

    提问者:updown_girl

    发布于2011-01-25

共1个回答
  • tony2288 丨Lv 0
    出错的原因是你求和求的是没有初始化数据的b数组的元素和,这个和是不能确定的。要求主函数中a的和需要将数组地址传到s中去。#include<iostream> using namespace std; void s(int[]);int main() //一维数值型数组应用1;主函数调用子函数 { cout<<"please enter 10 numbers:"<<endl; int a[10]; for (int i = 0; i < 10; i++) cin>>a[i]; s(a); return 0; }void s(int a[]){ int sum=0; for (int i = 0; i < 10; sum += a[i++]); cout << "sum = " << sum << endl;}
    +1 2011-01-25 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。