混淆了包含前缀和后缀运算符的printf()

如果int var = 20则如何

printf("%d %d %d", var--, ++var, --var); 

执行发生在C编程语言中。

它是未定义的行为,因为var被多次修改而没有序列点。 序列点例如是a ; 。 但是,参数列表中的逗号不会引入序列点,也不会定义操作数的计算顺序(可以说,代码是双重未定义的……)。