我正在尝试以下代码:
#include <stdio.h>
int main()
{
int c =0;
c -= --c - c++;
printf("%d \n",c);
return 0;
}
当我使用在线c编译器(https://www.tutorialspoint.com/compile_c_online.php)编译并运行它时,结果为-1。但我预计它会为0。 所以,我在我的本地Dev C ++(Windows)上尝试它,结果是0.
我一直在寻找某种自动标志化,这可能产生不同的结果,但我没有成功。
答案 0 :(得分:4)
这是未定义的行为(3个修改,其间没有序列点到同一个变量)