它在 C 中依赖于编译器。依赖于处理的顺序是不安全的。例如,像下面这样的函数调用可能在一个编译器和另一个编译器之间表现得非常不同:
不保证(在 C 或 C++ 标准语言定义中)增量将以任何特定顺序进行处理。任一增量都可能首先发生。func 可能得到参数‘2, 3’,或者它可能得到‘3, 2’,甚至是‘2, 2’。
void func (int, int);
int i = 2;
func (i++, i++);