qq_31609101 2016-03-02 07:53 采纳率: 100%
浏览 2533
已采纳

C语言使用随机分布函数rand()%100;但是二维数组a[0][0]的值大于100,其他正常

#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]);/*打印每行数组之和*/

}

}

  • 写回答

3条回答

  • threenewbee 2016-03-02 13:17
    关注
     int a[M][N],b[M];
    你b定义成N,越界了,修改b[M]结果去修改a[0][0]了
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?