前置递增
前置递增如果在复合表达式里,首先会先计算自己,也就是递增,然后才会计算其他的\
++Num;
后置递增
后置递增如果在复合表达式中,首先先计算其他的,最后才会计算自己
Num++
代码示例
#include <stdio.h>
int main()
{
int Num1 = 1;
int Num2 = 1;
//如果不是在复合运算中,前置递增和后置递增效果是一样的
++Num1;//2
Num1++;//3
Num1 = 5;
//如果是在复合运算中,优先计算前置递增
Num2 = ++Num1 +1;
printf("%d %d \n",Num1,Num2);//6 7
//解析
//Num1 = Num1 + 1; //5+1=6
//Num2 = Num2 + 1; //6+1=7
Num1 = 5;
//如果在复合运算中,最后计算后置递增
Num2 = Num1++ + 1;
printf("%d %d \n",Num1,Num2);//6 6
//解析
//Num2 = Num1 + 1;5+1=6
//Num1 = Num1 + 1;5+1=6
return 0;
}
前置递减
前置递减如果在复合表达式里,首先会先计算自己,也就是递减,然后才会计算其他的
--Num;
后置递减
后置递减如果在复合表达式里,首先会先计算其他的,最后才会计算到自己
--Num;
示例
#include<stdio.h>
int main()
{
int Num1 = 5;
//前置递减
--Num1;
printf("%d \n",Num1);//4
//后置递减
Num1--;
printf("%d \n",Num1);//3
Num1 = 5;
int Num2 = --Num1 + 1;
printf("%d %d \n",Num1,Num2);//4 5
//解析
//Num1 = Num1 - 1; //5-1=4
//Num2 = Num1 + 1; //4+1=5
Num1 = 5;
Num2 = Num-- + 1;
printf("%d %d \n",Num1,Num2);//4 6
//解析
//Num2 = Num1 + 1; //5+1=6
//Num1 = Num1 - 1; //5-1=4
return 0;
}