带有增量运算符的简单C程序。你能解释一下这个项目的实际工作流程吗? #包括 int main(){int i=0;printf(“%d%d%d%d%d%d%d”,i++,i++,i++,i++); 返回0; }

带有增量运算符的简单C程序。你能解释一下这个项目的实际工作流程吗? #包括 int main(){int i=0;printf(“%d%d%d%d%d%d%d”,i++,i++,i++,i++); 返回0; },c,C,编译器可以用它想要的任何方式计算代码 但标准规定,在一次操作中修改同一变量两次是未定义的行为;ISO C++03,5[expr]/4: 不应以这种方式为一元运算符编写和打印语句。查看反汇编?请参阅。 #include <stdio.h> int main() { int i=0; printf("%d %d %d %d %d %d", i++, i++, i++, i++, i, i++); return 0; }

编译器可以用它想要的任何方式计算代码

但标准规定,在一次操作中修改同一变量两次是未定义的行为;ISO C++03,5[expr]/4:


不应以这种方式为一元运算符编写和打印语句。

查看反汇编?请参阅。
#include <stdio.h>

int main() { int i=0; printf("%d %d %d %d %d %d", i++, i++, i++, i++, i, i++);

return 0;
}