- 简介
- code&result
1 简介
- ++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加;
- 如果是先加,那么最后的表达式的结果就是a的值加1;
- 如果是后加的话,则表达式的值就是原来a的值;
- 无论是先加,还是后加,a的值计算后一定会加1;
2 Code
I.在表达式中
若 a = 1, b = a++ ==>> 运算完 b = 1, a = 2 【先赋值,后 + 1】
若 a = 1, b = ++a ==>> 运算完 b = 2, a = 2 【先 + 1,后赋值】
也可理解为:
a++ <<==>> a = a + 1, 【先赋值,后 + 1】
++a <<==>> a = 1 + a, 【先 + 1,后赋值】
II.单独的语句中二者都没有什么区别!
ex: int a = 6,b = 6;
a++; ++b; //这里就是语句!
printf("%d %d",a,b);
输出都是2.
III.if 条件语句
表达式 :if((a++)==1) 【先判断,后 + 1】
if((++a)==1) 【先 + 1,后判断】