c语言中x+与x++的区别
2个回答
展开全部
C语言中提供了自增1运算符++和自减1运算符--
而且,这两种运算符,还分为前缀运算和后缀运算
如:
int a=5;
a++; //后缀运算,表示a=a+1 = 5+1=6
a--; //后缀运算,表示a=a-1 = 6-1=5
--a; //前缀运算,表示a=a-1 = 5-1=4
++a; //前缀运算,表示a=a+1 = 4+1=5
以上单独使用自增1或自减1运算符,前缀运算和后缀运算没有区别,其结果都是完成变量a的自加1或自减1
前缀运算和后缀运算的区别在于:前缀运算,先运算,再使用变量;后缀运算,先使用变量,再运算。如:
int a=5;
printf("a=%d\n", ++a ); //前缀运算,先运算a=a+1=5+1=6,再使用变量a,输出结果a=6
a=5; //重新赋值为5
printf("a=%d\n", a++ ); //后缀运算,先使用变量a,输出结果a=5,再运算a=a+1=5+1=6
void main(){
int x = 6, y = 5;
printf("%d\n",++x+y++); //以下代码表面看有区别,实际都是一样的,先执行++x 然后结果+y,然后y++。 ++的结合性要优于+,所以,解题时,先找++的参与变量,再找其它运算符的参与变量
printf("%d\n",++ x+y++);
printf("%d\n",++x +y++);
printf("%d\n",++x+ y++);
printf("%d\n",++x+y ++);
printf("%d\n",++x+y++ );
}
而且,这两种运算符,还分为前缀运算和后缀运算
如:
int a=5;
a++; //后缀运算,表示a=a+1 = 5+1=6
a--; //后缀运算,表示a=a-1 = 6-1=5
--a; //前缀运算,表示a=a-1 = 5-1=4
++a; //前缀运算,表示a=a+1 = 4+1=5
以上单独使用自增1或自减1运算符,前缀运算和后缀运算没有区别,其结果都是完成变量a的自加1或自减1
前缀运算和后缀运算的区别在于:前缀运算,先运算,再使用变量;后缀运算,先使用变量,再运算。如:
int a=5;
printf("a=%d\n", ++a ); //前缀运算,先运算a=a+1=5+1=6,再使用变量a,输出结果a=6
a=5; //重新赋值为5
printf("a=%d\n", a++ ); //后缀运算,先使用变量a,输出结果a=5,再运算a=a+1=5+1=6
void main(){
int x = 6, y = 5;
printf("%d\n",++x+y++); //以下代码表面看有区别,实际都是一样的,先执行++x 然后结果+y,然后y++。 ++的结合性要优于+,所以,解题时,先找++的参与变量,再找其它运算符的参与变量
printf("%d\n",++ x+y++);
printf("%d\n",++x +y++);
printf("%d\n",++x+ y++);
printf("%d\n",++x+y ++);
printf("%d\n",++x+y++ );
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询