NCHU逸尘 2015-05-27 12:16 采纳率: 50%
浏览 2936
已采纳

二维数组大小问题......

int a[100][100] = { 0 }, b[100] = {0}, n, m, j, i, min;
printf("输入行和列: ");
scanf_s("%d%d", &n, &m);
for (i = 1; i <= n; i++)
for (j = 1; j <= m; j++)
scanf_s("%d", &a[i][j]);
for (i = 1; i <= m; i++)
{
min = a[1][i];
for (j = 1; j <= n; j++)
{

        if (a[j][i] < min) min = a[j][i];
    }
    b[i] = min;
}
for (i = 1; i <= m; i++)
    printf("%d", b[i]);//这个程序求二维数组每一列的最小值,但是我把a[100][100]改成a[1000][1000]
    把b[100]改成b[1000]的话,这个程序就不能运行了,运行时会提示出现了某个错误,怎么回事啊?
  • 写回答

9条回答

  • nswcfd 2015-05-27 13:56
    关注

    stack的大小是有限的,改用malloc分配数组空间。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 Stata 面板数据模型选择
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用