要清楚j++和++j的区别,j++是
j++ 和 ++j 是不同的。 a = j++ j首先把值赋给a,然后自增。 a = ++j 首先j自增,然后赋值给a。 先后顺序不同影响语意。这个要看,c语言的符号结合先后顺序。
[quote=引用 47 楼 john_liqinghan 的回复:] 和编译器有关系,最好直接看汇编!不过这种就属于垃圾代码了。项目中不会有人写这样子代码的,写了也通不过审核的。
[quote=引用 58 楼 weixin_41827723的回复:]编译环境不一样结果可能不一样。
j=j++是先赋值,再加1,没错的
编译环境不一样结果可能不一样。
和编译器有关系,最好直接看汇编!不过这种就属于垃圾代码了。项目中不会有人写这样子代码的,写了也通不过审核的。
#include<stdio.h> main() { int j=1; j=j++; printf("%d",j); } 结果j为什么等于1呢?
69,369
社区成员
243,082
社区内容
加载中
试试用AI创作助手写篇文章吧