C 相对于序列点的后增量
增量后运算符何时影响增量?我有两种意见: 1) 发件人: POST意味着在任何情况下都要进行操作 分配操作 2) 在更近的地方,一位(尽管是在C++上)说: 。。。这延迟了增量 直到表达式的结尾 (下一个序列点) 增量后操作也是如此 A) 等待序列点到达或 B) 在赋值运算符或C 相对于序列点的后增量,c,post-increment,sequence-points,C,Post Increment,Sequence Points,增量后运算符何时影响增量?我有两种意见: 1) 发件人: POST意味着在任何情况下都要进行操作 分配操作 2) 在更近的地方,一位(尽管是在C++上)说: 。。。这延迟了增量 直到表达式的结尾 (下一个序列点) 增量后操作也是如此 A) 等待序列点到达或 B) 在赋值运算符或 C) 发生在序列点之前的任何时间?正确的解释是C,即增量发生在下一个序列点之前的某个时间,特别是C标准(C99,6.5.2.4,2)规定: 更新操作数存储值的副作用应在 上一个和下一个序列点 整段引文: 后缀++运算符的
C) 发生在序列点之前的任何时间?正确的解释是C,即增量发生在下一个序列点之前的某个时间,特别是C标准(C99,6.5.2.4,2)规定: 更新操作数存储值的副作用应在 上一个和下一个序列点 整段引文: 后缀++运算符的结果是操作数的值。结果出来之后 获取时,操作数的值将递增。(即,适当的 类型被添加到其中。)请参见加法运算符和复合赋值的讨论 有关约束、类型和转换以及操作对 指针。更新操作数存储值的副作用应在 上一个和下一个序列点
正确的解释是C,即增量发生在下一个层序点之前的某个时间,特别是C标准(C99,6.5.2.4,2)规定: 更新操作数存储值的副作用应在 上一个和下一个序列点 整段引文: 后缀++运算符的结果是操作数的值。结果出来之后 获取时,操作数的值将递增。(即,适当的 类型被添加到其中。)请参见加法运算符和复合赋值的讨论 有关约束、类型和转换以及操作对 指针。更新操作数存储值的副作用应在 上一个和下一个序列点
增量后操作始终发生在下一个序列点之前,与使用增量运算符的表达式无关。
有关更多信息,请参见此链接增量后操作始终发生在下一个序列点之前,而与使用增量运算符的表达式无关。
有关更多信息,请参见此链接So,is
i=0;a[i++]=10
未定义,因为i
可以在分号之前的任何时间递增?@crypto:否,在递增之前检索该值。我已经在我的回答中添加了该段的完整引用,isI=0;a[i++]=10
未定义,因为i
可以在分号之前的任何时间递增?@crypto:否,在递增之前检索该值。我在回答中加上了这一段的完整引文