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

如何计算二维数组指定行的总和?下述实现代码是否存在错误?

给定代码的错误明细
  • 外层循环完全冗余,属于无用逻辑
    需求仅需要计算指定单个行的总和,不需要遍历多行。代码中写的外层for (int i = subscript; i == subscript; i++)循环仅会执行1次就退出,和直接用subscript作为行下标遍历当前行所有列的效果完全一致,没有任何存在的意义,属于逻辑错误导致的冗余代码。
  • 无入参合法性校验,存在严重的数组越界风险
    代码没有对输入的行下标subscript做合法范围校验,合法的行下标范围应为0 ≤ subscript < NUM_ROWS,如果传入的下标超出该范围,会直接访问二维数组行边界之外的内存空间,触发C语言未定义行为,轻则读取到错误的脏数据,重则直接导致程序崩溃。
  • 二维数组形参声明存在隐性缺陷
    C语言中当二维数组作为函数形参时,第一维的长度声明NUM_ROWS会被编译器忽略,形参会被自动调整为指向数组行的指针int (*userFilledArray)[NUM_COLS],编译器不会校验传入数组的实际行数是否匹配NUM_ROWS,如果传入的数组实际行数小于下标要求,即使subscript小于NUM_ROWS,依然会出现越界访问问题。

内容的提问来源于stack exchange,提问作者EMAN-GAMING

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:27:03