算术运算符:
用于各类数值运算,包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算%)、
自增(++)、自减(--)
初学C语言时一直以为很简单的自增、自减,却每次都算错,颠覆人生观啊有没有!
C语音学了两年后,仍然算错,下面就来一波自增运算,感觉这辈子都不会错了呢!
首先,说一下i++,++i的区别:
i++: i使用完再自加
++i: i自加后再使用
废话不多说,实例展示:
是不是大多数人的答案都是:
i = 6, num = 2 + 3 + 4 + 5 = 14
i = 6, num = 3 + 4 + 5 + 6 = 18
i = 6, num = 3 + 3 + 4 + 4 = 14
i = 6, num = 2 + 3 + 3 + 4 = 12
下面看看正确答案:
为什么呢?
下面具体讲解运算过程:
num = (i++) + (i++) + (i++) + (i++); num = 2 + 2 + 2 + 2 = 8;遇到最后的分号才自加,i++= 2
num = (++i) + (++i) + (++i) + (++i); num = 4 + 4 + 5 + 6 = 19;两个操作数都算出才算加法,所有前两个操作数都为4
num = (++i) + (i++) + (++i) + (i++); num = 3 + 3 + 4 + 4 = 14;
num = (i++) + (++i) + (i++) + (++i); num = 3 + 3 + 3 + 4 = 13;
i++:所谓使用完,即遇到结束标志再自加;
结束标志:分号、逗号、函数的括号
实例如下:
在函数中,参数是从右边开始传参的!总结为下面几句话:
++i被替换为变量名,i++被替换为数值,变量名仍为变量名!