#include <stdio.h>
int main(){
int i = 0;
i = i++;
return 0;
}
从上一篇文章java中i=i++问题中可以看到在Java中输出结果为0,但是在c语言中,微软的编译器与GCC编译器的结果是不同的,采用VS2017编译
本文探讨了C语言中表达式i=i++在不同编译器下产生的不同结果,如VS2017和GCC。通过反编译和汇编代码分析,解释了微软编译器将自加后的值赋回给i,导致输出1,而GCC编译器未执行自加操作,输出0的原因。
#include <stdio.h>
int main(){
int i = 0;
i = i++;
return 0;
}
从上一篇文章java中i=i++问题中可以看到在Java中输出结果为0,但是在c语言中,微软的编译器与GCC编译器的结果是不同的,采用VS2017编译

被折叠的 条评论
为什么被折叠?