C语言中有两个特殊的运算符,即自增运算符“++”和自减运算符“--”。自增、自减运算符对变量的操作效果分别是使变量增加1和减少1。
--counter; //自减前缀符号
grade--; //自减后缀符号
++age; //自增前缀符号
height++; //自增后缀符号
自增、自减运算符可以放在变量的前面或后面。上述代码比较简单,只有自增、自减,没有其他的表达式运算,因此,运算符无论是前缀还是后缀不重要,得到的结果是一样的,自减就是变量减1,自增就是变量加1。
下面来看一下自增、自减运算
#include<stdio.h>
int main()
{
int iNumber1 = 3;
int iNumber2 = 3;
int iresult1, iresult2;//定义变量 存储结果
int iresult3, iresult4;
iresult1 = ++iNumber1;//前缀自增运算
iresult2 = iNumber2++;//后缀自增运算
printf("The Addself ...\n");
printf("the number1 is:%d\n", iNumber1);
printf("the iresult1 is:%d\n", iresult1);
printf("the number2 is:%d\n", iNumber2);
printf("the iresult2 is:%d\n", iresult2);
iNumber1 = 3;//重新恢复变量值大小
iNumber2 = 3;
iresult3 = --iNumber1;//前缀自减运算
iresult4 = iNumber2--;//后缀自减运算
printf("The Deleteself ...\n");
printf("the number1 is:%d\n", iNumber1);
printf("the iresult3 is:%d\n", iresult3);
printf("the number2 is:%d\n", iNumber2);
printf("the iresult4 is:%d\n", iresult4);
return 0;
}
(1)在程序代码中,定义iNumber1和iNumber2两个变量用来进行自增和自减运算。
(2)进行自增运算,分为前缀自增和后缀自增。运行程序后可以知道,自增变量iNumber1和iNumber2的结果同为4,但是得到表达式结果iresult1和iresult2却不一样,结果分别为4、3,前缀自增使得iresult1变量先进行自增操作,然后再赋值操作;后缀自增是先进行赋值操作然后再自增。因此两个表达式的结果是不一样的。
(3)在自减运算中,前缀自减和后缀自减与自增运算方式是相同的。
总结:
一、自增运算符:
1、自增表达式i++和++i的基本功能与赋值表达式i=i+1都是相当的;
2、语句i++;与语句++i;是完全等价的,而表达式j=i++与表达式j=++i则是完全不同的。
3、前自增表达式++i的值,是i加1之后的值。(先加1后引用);后自增表达式i++的值,是i+1之前的值。(先引用后加1)
int main()
{
int i = 0;
int j;
j = i++;
printf("%d\n", j);
i = 0;
j = ++i;
printf("%d\n", j);
return 0;
}
二、自减运算符
1、自减表达式i--和--i的基本功能与赋值表达式i=i-1都是相当的;
2、语句i--;与语句--i;是完全等价的,而表达式j=i--与表达式j=--i则是完全不同的。
3、前自减表达式--i的值,是i减1之后的值。(先减1后引用);后自减表达式i--的值,是i-1之前的值。(先引用后减1)
int main()
{
int i = 0;
int j;
j = i--;
printf("%d\n", j);
i = 0;
j = --i;
printf("%d\n", j);
return 0;
}
另外:自增、自减运算符是单目运算符,因此表达式和常量不可以进行自增、自减运算。例如,1++,(a+5)++都是不合理的。
标签:自增,++,运算符,--,自减,printf,表达式 From: https://blog.csdn.net/2401_83334900/article/details/141061746