JAVA:结果为1
int i = 1;
i = i++;
System.out.println(i);
C语言:结果为2
int i = 1;
i = i++;
printf("i=%d",i);
不是很懂JAVA为什么为1,说是有一个临时变量,但是i不还是i吗?它自增完后不还是等于2吗?
下文解释了JAVA中的自增
int i = 1;
i = i++;
System.out.println(i); //1
/* 我们知道了结果,只是知其然,我们来解读一下
c语言中每个编译软件执行结果可能不一致的,没必要纠结这个,java中
int i = 1;
i = i++; 这一步 把1赋值给i,然后再执行后边++,所以说i还是1
System.out.println(i);