You need to enable JavaScript to run this app. C++遍历-100至100的for循环sum求和结果为何为0
优惠活动
大模型
产品
解决方案
定价
更多

C++遍历-100至100的for循环sum求和结果为何为0

循环功能与sum运行结果说明

原代码for循环的实际功能

  • 循环从初始值i = -100启动,每次执行时将当前的i值累加到变量sum中,随后将i自增1,当i的值大于100时立刻终止循环

原场景下sum值为0的原因

  • 循环覆盖的累加范围是从-100到100的全部整数,累计201个参与计算的数值
  • 范围中的每一个负整数-x,都存在对应的正整数x,二者相加的和为0:例如-100与100抵消、-99与99抵消,一直到-1与1抵消
  • 范围内仅剩的单独数值是0,将其累加至sum也不会改变最终结果
  • 从等差数列求和公式验证:该序列首项为-100,末项为100,共201项,和为项数*(首项+末项)/2 = 201*(-100+100)/2 = 0
    所有正负数值两两抵消后,sum的最终结果自然为0

替换循环起始值的运行逻辑

当把循环起始值从-100修改为100时:

  • 初始i=100,满足i <= 100的循环判定条件,第一次循环就将100累加到sum中
  • 完成累加操作后i自增为101,此时不再满足循环进入条件,直接跳出循环

整个流程仅执行1次累加操作,sum从初始的0变为100,与实际运行结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 05:06:00