混淆了包含前缀和后缀运算符的printf()
如果int var = 20则如何
printf("%d %d %d", var--, ++var, --var);
执行发生在C编程语言中。
它是未定义的行为,因为var
被多次修改而没有序列点。 序列点例如是a ;
。 但是,参数列表中的逗号不会引入序列点,也不会定义操作数的计算顺序(可以说,代码是双重未定义的……)。
如果int var = 20则如何
printf("%d %d %d", var--, ++var, --var);
执行发生在C编程语言中。
它是未定义的行为,因为var
被多次修改而没有序列点。 序列点例如是a ;
。 但是,参数列表中的逗号不会引入序列点,也不会定义操作数的计算顺序(可以说,代码是双重未定义的……)。