开发者社区> 问答> 正文

为什么这样的代码: a[i] = i++; 不能工作?

为什么这样的代码: a[i] = i++; 不能工作?

展开
收起
游客py5kcp7dd6tu6 2022-03-29 00:50:40 426 0
1 条回答
写回答
取消 提交回答
  • 子表达式 i++ 有一个副作用 --- 它会改变 i 的值 --- 由于 i 在同一表达式的其它地方被引用, 这会导致无定义的结果, 无从判断该引用(左边的 a[i] 中)是旧值还是新值。(注意, 尽管 在 K&R 中建议这类表达式的行为不确定, 但 C 标准却强烈声明它是无 定义的,

    2022-03-29 00:51:04
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
前端自动化测试 立即下载
《前端智能化实践》——逻辑代码生成 立即下载
用RxSwift写易维护易读的愉悦代码 立即下载