C中++a和--a什么区别?
int a=3;
++a和a++什么区别呢?相同点,最后a都会增加1,区别是表达式的值不一样。
对于++或者--这样的表达式有2个作用,一个作用是计算表达式的值,另外的副作用是改变a本身的值
这两个都是表达式,++a表达式的值是a的值+1,即4,并且改变a本身的值,将a改成了4
a++表达式的值是原来a的值,也就是3,并且同样有副作用,改变a本身的值,将a改成了4
这两个表达式都不是左值,所以无法a++++或者++++a。
之前看《 C primer Plus》有这样的代码
shoe = 2.0;
while (++shoe < 18.5)
是这样写的:
首先,这样的while循环是如何工作的?很简单。shoe的值递增1,然后
和18.5作比较。
其实这种说法不是很严谨,
这个++shoe表达式 有两个作用 :1、读取shoe的值,进行+1操作得到增加后的值,作为整个表达式的值,2改变shoe的值,进行了+1操作,这是一个副作用