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

为何执行含后置自增i的C++代码后变量m的值为2?

问题解答:变量m的值为何是2?

我们一步步拆解代码的执行过程:

  • 初始化阶段

    • 数组a初始化为 {8, 10, 1, 14, 16},下标对应0到4
    • 变量i和m未初始化,后续通过赋值操作确定值
  • 执行i = ++a[2];

    • a[2]的初始值是1,**前置自增运算符(++)**会先将a[2]的值加1,变为2
    • 再把更新后的a[2]的值(2)赋值给i,此时i = 2
  • 执行m = a[i++];

    • **后置自增运算符(++)**的规则是:先使用变量当前的值参与运算,运算完成后再对变量执行自增操作
    • 这里先使用i当前的值(2)作为数组下标,取a[2]的值(此时a[2]已经是2)赋值给m,所以m = 2
    • 赋值完成后,i才会自增1,变为3
  • 最后cout << i << m;会输出32

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:20:35