#include
#include
#define M 5
#define N 4
void china(int a[][N],int b[M]);/*給二維數組隨機分配數值,並求二維數組每行數值之和*/
void orange(int a[][N],int b[M]);/*將付好值得數組和求和打印出來*/
void main()
{int a[M][N],b[N];
china(a,b);
orange(a,b);
}
void china(int a[][N],int b[M])
{int i,j,ave;
for(i=0;i<M;i++)
{ ave=0;
for(j=0;j<N;j++)
{
a[i][j]=rand()%100;/*對數組隨機分配數值*/
ave=ave+a[i][j];/*求每行數值的和*/
}
b[i]=ave;
}
}
void orange(int a[][N],int b[M])
{int i,j;
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
{printf("%6d",a[i][j]);/*打印二維數組*/
}
printf("%6d\n",b[i]);/*打印每行數組之和*/
}
}
int a[M][N],b[M];
你b定義成N,越界了,修改b[M]結果去修改a[0][0]了