You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言计算二维数组各列和时输出异常大数问题求助

异常原因
  • 二维数组下标使用错误:C/C++ 中二维数组的声明规则为数组名[行数][列数],你定义的table[4][5]对应4行、5列,合法行下标范围为03,合法列下标范围为04。
  • 数组越界访问:你写的内层循环中j的上限为5,遍历行时j会取到4,已经超过了行下标的最大合法值,此时table[j][i]访问的是数组内存空间之外的随机值,求和后自然会得到不符合预期的异常数值。
修正后代码
int table [4][5] = {
{8,9,7,5,9},
{9,9,10,10,5},
{6,10,11,10,9},
{9,11,5,8,10},
};

// 遍历5个列
for(int i = 0; i < 5; i++){
    int sum = 0;
    // 遍历每个列对应的4个行元素
    for(int j = 0; j < 4; j++){
        sum += table[j][i];
    }
    cout << sum << "  " << endl;
}
正确运行结果

输出的5个列的总和依次为:32、39、33、33、33。

内容的提问来源于stack exchange,提问作者Hxxxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:36:07