int b = 10;
b = b++;
输出b显示为什么是10,b++进行运算了吗,如果进行了,结果存到了哪里,如果没有是为什么?
你应该了解下 b++ 和 ++b的区别
b++ :执行过后再自增1
++b :执行前自增1
b++是先用b进行操作,然后b值再加1
你的输出语句写在哪里?
b++是先使用,再加1。执行b=b++相当于把b = 10 赋给了b ,所以输出b为10
b = a++;
printf("%d", a);
printf("%d", b);
return 0;
b++和++b 都属于自增运算符,区别是对变量a的值进行自增的时机不同。b++是先进行取值,后进行自增。++b是先进行自增,后进行取值。
a++ 是先使用a的值,然后再对a做加1处理;++a是先对a作加1处理,然后再使用a的值。
列:
int m = 10, n1, n2;
n1 = m++;先将m的值赋给n1,然后m再做自增运算,所以此时,n1=10,m=11;
n2 = ++m ;先将m做自增运算,然后在将运算后的m值赋给n2,所以此时,n2=11,m=11