简单的话顺序点

Sequence points in simple words

At certain specified points in the execution sequence called sequence points, all side effects of previous evaluations shall be complete and no side effects of subsequent evaluations shall have taken place.

任何人都可以用初学者的话来解释这些行和相关术语吗?

n++这样的表达式有副作用,即它们不仅产生一个结果,而且修改一个变量。

* 运算符 而不是 引入序列点。因此,在表达式 n++ * n-- 中没有指定,在评估 n-- 时是否已经发生了 n++ 的副作用(递增 n)。取决于此,n++ * n-- 会产生不同的结果。

;引入一个序列点。如果n == 5,那么在n++; n--;之后,n == 5再次成立。

考虑以下语句:

x = y++ * --z;

有3个求值:y++--zy++的结果乘以--z的结果。副作用一共有三种:y加1,z减1,y++ * --z的结果赋值给x

序列点是程序执行中完成上述所有操作的点,在本例中是语句的末尾。