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

求解AOC挑战时遇代码计算异常,是GCC问题还是自身代码错误?

问题原因分析

这是你的代码笔误,和GCC编译器无关。

问题出在problem函数中计算num的代码行:

int num = 10 * (line[18 + (i << 2)]-'0')
             + (line[19 + (1 << 2)]-'0');

你在第二个字符的索引计算时,错误地使用了1 << 2(固定偏移4),而不是和前面一致的i << 2。

具体影响:

  • 当i=0时,第二个字符取line[19+4](索引23),对应输入里的'2',计算得82;但正确应该取line[19+0](索引19)的'3',结果为83。
  • 当i=1时,第二个字符取line[19+4](索引23),正好是输入里的'2',所以结果和正确值一致。
  • 当i=2时,第二个字符仍取line[19+4](索引23)的'2',计算得92;正确应该取line[19+8](索引27)的'3',结果为93。

修正后的代码行:

int num = 10 * (line[18 + (i << 2)]-'0')
             + (line[19 + (i << 2)]-'0');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:10:32