<分区>
如果 int var=20 那么怎么办
printf("%d %d %d", var--, ++var, --var);
执行发生在 C 编程语言中。
<分区>
如果 int var=20 那么怎么办
printf("%d %d %d", var--, ++var, --var);
执行发生在 C 编程语言中。
最佳答案
这是未定义的行为,因为 var
被多次修改,中间没有序列点。例如,序列点可以是 ;
。但是,参数列表中的逗号不会引入序列点,而且操作数的计算顺序是未定义的(您可以说,代码是双重未定义的...)。
关于对包含前缀和后缀运算符的 printf() 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109475/