有关C++的小问题,请指出错误

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:37:46
#include<iostream.h>
void sum(float score[][],int len)
{
float sum;
sum=0;
for(int i=1,i<=(len+1);i++){
for(int j=1;j<=len;len++){
sum=sum+score[i][j];
}
cout<<sum<<endl;
}
return;
}

void main()
{
float score[5][4];
for(int i=1;i<=5;i++){
for(int j=1;j<=4;j++){
cin>>score[i][j];
}
}
sum(score,4);
}

#include<iostream.h>
void sum(float score[][4],int len) //[][]改成[][4]
{
float sum;
sum=0;
for(int i=1;i<=(len+1);i++)//逗号改成分号
{
for(int j=1;j<=len;len++)
{
sum=sum+score[i][j];
}
cout<<sum<<endl;
}
return;
}

void main()
{
float score[5][4];
for(int i=1;i<=5;i++){
for(int j=1;j<=4;j++){
cin>>score[i][j];
}
}
sum(score,4);
}

二维数组的起始位置是score[0][0],楼主程序产生了越界问题
只需把main修改如下
void main()
{
float score[5][4];
for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
cin>>score[i][j];
}
}
sum(score,3);
}

#include<iostream.h>
void sum(float score[5][4],int len) //形参不正确
{
float sum;
sum=0;
for(int i=1;i<=(len+1);i++)//,要改成;
{
for(int j=1;j<=len;len++)
{
sum=s