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操作,这是一个副作用

 

posted @ 2022-11-13 08:56  自由小菜园  阅读(559)  评论(0编辑  收藏  举报