自增与自减运算符

C语言自学之自增与自减运算符

 

 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int a=99;
 6     printf("%d\n",a++);//先取值在运算,遂输出为a的赋予值99,在输出后表达式开始运算这时a为100;
 7     printf("%d\n",++a);//先运算在取值,遂输出为上一行执行后a值(100)+1后取值,输出结果101;
 8     printf("%d\n",--a);//先运算在取值,遂输出为上一行之后a值(101)-1后取值,输出结果为100;
 9     printf("%d\n",a--);//先取值在运算,遂输出为上一行a的值(100),在输出后表达式开始运算,这时a的值为99;
10     printf("%d\n",a+1);//注意:这里并不改变a的值,遂输出结果为上一行a的值(99)+1,在输出后a的值因不改变遂为99;
11     printf("%d\n",a);//上一行执行后a值为99,遂这里a输出值为99;
12     return 0;
13 }

 注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,

         无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1
         C程序为逻辑逐行运算,遂值在逐行运算后 不断在变化,只是区别与输出与否

自增自减运算

后缀自增 x = i++; x = i;i=i+1; 先取值,再自增(自减)

后缀自减 x=i--; x =i;i=i-1;
前缀自增 x = ++i; i=i+1;x=i; 先自增(自减)再取值
前缀自减 x = --i; i=i-1;x = i;
注意:
1. 只能对变量做++和--运算,不能对变量和表达式做++和--运算
5++; //ERROR
(3+x)++; //ERRO
2. 建议尽量使用前缀自增(自减),以避免错误。

posted @ 2018-05-01 15:40  伍悦匿匿  阅读(451)  评论(0编辑  收藏  举报