Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 相对于序列点的后增量_C_Post Increment_Sequence Points - Fatal编程技术网

C 相对于序列点的后增量

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)规定: 更新操作数存储值的副作用应在 上一个和下一个序列点 整段引文: 后缀++运算符的

增量后运算符何时影响增量?我有两种意见:

1) 发件人:

POST意味着在任何情况下都要进行操作 分配操作

2) 在更近的地方,一位(尽管是在C++上)说:

。。。这延迟了增量 直到表达式的结尾 (下一个序列点)

增量后操作也是如此

A) 等待序列点到达或

B) 在赋值运算符或


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:否,在递增之前检索该值。我已经在我的回答中添加了该段的完整引用,is
I=0;a[i++]=10
未定义,因为
i
可以在分号之前的任何时间递增?@crypto:否,在递增之前检索该值。我在回答中加上了这一段的完整引文