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

C++代码中i++后置自增运算执行原理及运行结果疑问

C++ 后置自增运算符i++运行原理解答

C++中后置自增运算符i++的执行逻辑是:先返回变量i的当前值参与所在表达式的运算,运算结束后立即对i执行+1操作,自增操作的执行时机早于同代码块中后续语句的执行。

以下是代码逐轮执行的完整流程:

  • 初始化 int i = 1,进入while循环判断:i < 10 成立,进入循环体。
  • 第一轮if条件判断:
    1. 取i的当前值1参与i++ % 2运算,计算得1%2=1,不满足==0的条件,if分支不执行。
    2. 表达式运算完成后i自增,值变为2。
  • 第二轮循环,while判断2 < 10成立,进入if条件判断:
    1. 取i的当前值2参与i++ %2运算,计算得2%2=0,满足条件。
    2. 表达式运算完成后i立即自增,值变为3。
    3. 执行后续的cout << i << endl语句,此时i的值已经是3,所以首个输出为3。
  • 后续循环逻辑同理:
    1. i=3时,用3计算取模结果为1,不满足条件,i自增为4,无输出。
    2. i=4时,用4计算取模结果为0,满足条件,i自增为5,输出5。
    3. 以此类推,直到i=9时,用9计算取模结果为1,不满足条件,i自增为10,while判断10<10不成立,循环结束。

最终输出结果就是3、5、7、9,和实际运行结果一致。
你之前的误解在于认为自增操作会在if分支执行完成后才生效,实际上后置自增的自增操作在所在表达式求值完成后就会立刻执行,早于if分支内输出语句的执行时机,因此输出的是自增后的值。

内容的提问来源于stack exchange,提问作者Corin-2

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:45:07