|
发表于 2012-7-23 14:08:27
|
显示全部楼层
- /*#include <stdio.h>
- void main()
- {
- int i = 5, j = 5, p, q;
- p = (i++) + (i++) + (i++); //因为是前置运算 所以 p=5+5+5=15 然后i 自增3次 i=8
- q = (++j) + (++j) + (++j); //因为是后置运算 这个表达式 q=((++j)+(++j))+(++j) 所以先自增2次j=7 q=7+7=14 然后在自增一次 j=8 所以q=7+7+8=22
- printf("%d, %d, %d, %d", p, q, i, j); //p=15 q=22 i=8 j=8
- }*/
- #include <stdio.h>
- void main()
- {
- int i = 8;
- printf("%d\n", ++i); //前置运算 所以 先自增 i=9 然后打印9; i=9
- printf("%d\n", --i); //前置运算 先自减 i=8 打印 8 ; i=8
- printf("%d\n", i++); //后置运算 先打印 i的值 8 然后在自增 i=9
-
- printf("%d\n", i--); //后置运算 先打印 i的值9 然后自减 i=8
- printf("%d\n", -i++); //后置自增的优先级高于 负号运算符 所以 先取i的值 8 然后求 负值 打印-8 然后i的值自增 i=9
- printf("%d\n", -i--); //后置自减的优先级高于负号运算符 所以先取i的值9 然后求负值 打印 -9 然后i自减 i=8
- }
复制代码 |
|