自增自减运算符问题
来源:4-14 自增自减运算符
Island27
2018-10-06 23:05:43
int x = 7;
NSLog(@"%d",x--);
NSLog(@"%d",--x);
NSLog(@"%d",x++);
NSLog(@"%d",++x);
为什么打印结果出来 是 7 5 5 7呢 真的不怎么明白这一节
3回答
CSRM
2018-10-08
x--是先输出的x的值,也就是7,但是在输出后做了7-1的运算,此时的x值为6;
--x是将此时的x先减去1,也就是上一个结果6-1=5,所以输出5,此时x值为5;
x++,同第一条,也是先输出x目前的值,上一个结果x是5,所以输出5,但在输出后做了5+1但运算,此时x值为6;
++x,是将x先加1,也就是上一个结果6+1=7,所以输出7,此时x值为7.
无毁湖光
2018-10-08
x--是先执行在运算,--x是先运算执行。
第一行,先执行在运算,所以等于7
第二行,此时x的值是6(上一行已经7-1了),由于是--x,先运算在执行,所以在6-1,所以是5.
第三行:x++先执行后运算,所以先输出5,然后5++,x=6
第四行:++x先运算后执行,所以是6+1,最终输出7
Tender10
2018-10-07
首先明白一点,x--、x++是先运算,在加减。--x、++x是先加减,在运算。
1、x--,因为先输出x的值,所以是7,但是输出之后做了减一操作,x就是6
2、--x,因为是先减一,因为上一次计算完以后变成了6,所以这次减一变成5,然后输出5
3、x++,因为先输出5,然后加1,变成6
4、++x,因为先加1,变成7,然后输出7
最终结果,7,5,5,7
相似问题
回答 2
回答 1
回答 1
回答 1
回答 1