记录一下关于C语言在不同IDE(编译器)下的自增自减问题
int i=3,d = 0, c = 1, b = 0;
printf("%d \n", i);
d=i+(i++)+(i++)+(i)+i;
b= c+c++ + c + c++;
printf("%d \n", d);
printf("%d \n", i);
printf("%d \n", b);
printf("%d \n", c);
同一代码中的自增(自减)在不同编译器得出不同结果,第一个控制台是VS,第二个是DEV,究其原因是因为不同的编译器对表达式中自增自减的计算顺序不同,这种操作在C语言中未定义。所以在同一个表达式中出现相同变量的自增(自减)时应当谨慎。