C语言 自增自减运算符应用举例 求解!
#include<stdio.h>main(){intx=5;printf("%d,",++x);printf("%d,",--x");printf("%d,",x++)...
#include<stdio.h>
main()
{
int x=5;
printf("%d,",++x);
printf("%d,",--x");
printf("%d,",x++);
printf("%d,",x--);
printf("%d,",-x++);
printf("%d,",-x--);
}
运行后的结果为:6,5,5,6,-5,-6
请问大家这个结果是怎么得出来的?明白的朋友帮忙解释下,谢谢大家了! 展开
main()
{
int x=5;
printf("%d,",++x);
printf("%d,",--x");
printf("%d,",x++);
printf("%d,",x--);
printf("%d,",-x++);
printf("%d,",-x--);
}
运行后的结果为:6,5,5,6,-5,-6
请问大家这个结果是怎么得出来的?明白的朋友帮忙解释下,谢谢大家了! 展开
2个回答
展开全部
x=5
-----
++x 6 x=6
--x 5 x=5
x++ 5 x=6
x-- 6 x=5
-x++ -5 x=6
-x-- -6 x=5
-----
我们把它们当成函数调用的形式来看,会比较好理解。i做为参数传入,
在(++i,--i中,++,--做为前缀运算符),表达式的值为i+1或i-1.返回值为i+1或i-1.
在(i++,i--中,++,--做为后缀运算符),表达式的值为i,返回值为i+1或i-1.
看到有什么不同了吗?
在++,--做为前缀运算符式,改变表达式的值,而作为后缀运算符时,表达式值不变。
共同点是,无论做前缀或后缀,返回值都自加或自减。
---------------------
....
int x=5; // x初始化值为5
printf("%d,",++x); // x=5,打印++x的值,++x的值为x+1 (5+1=6),返回值x+1,x=6
printf("%d,",--x"); // x=6,打印--x的值,--x的值为x-1 (6-1=5),返回值x-1,x=5
printf("%d,",x++); // x=5,打印x++的值, x++的值为x (5) ,返回值x+1,x=6
printf("%d,",x--); // x=6,打印x--的值, x--的值为x (6) ,返回值x-1,x=5
printf("%d,",-x++); // x=5,打印-x++的值, x++的值为x (5) -x=-5 ,返回值x+1,x=6
printf("%d,",-x--); // x=6,打印-x--的值, x--的值为x (6) -x=-6 ,返回值x-1,x=5
【表达式的值】 【返回的值】
....
ps:表达式的值和返回的值是两个概念,-x++,-x--可看做-(x++),-(x--).++,--的优先级高于+,-
-----
++x 6 x=6
--x 5 x=5
x++ 5 x=6
x-- 6 x=5
-x++ -5 x=6
-x-- -6 x=5
-----
我们把它们当成函数调用的形式来看,会比较好理解。i做为参数传入,
在(++i,--i中,++,--做为前缀运算符),表达式的值为i+1或i-1.返回值为i+1或i-1.
在(i++,i--中,++,--做为后缀运算符),表达式的值为i,返回值为i+1或i-1.
看到有什么不同了吗?
在++,--做为前缀运算符式,改变表达式的值,而作为后缀运算符时,表达式值不变。
共同点是,无论做前缀或后缀,返回值都自加或自减。
---------------------
....
int x=5; // x初始化值为5
printf("%d,",++x); // x=5,打印++x的值,++x的值为x+1 (5+1=6),返回值x+1,x=6
printf("%d,",--x"); // x=6,打印--x的值,--x的值为x-1 (6-1=5),返回值x-1,x=5
printf("%d,",x++); // x=5,打印x++的值, x++的值为x (5) ,返回值x+1,x=6
printf("%d,",x--); // x=6,打印x--的值, x--的值为x (6) ,返回值x-1,x=5
printf("%d,",-x++); // x=5,打印-x++的值, x++的值为x (5) -x=-5 ,返回值x+1,x=6
printf("%d,",-x--); // x=6,打印-x--的值, x--的值为x (6) -x=-6 ,返回值x-1,x=5
【表达式的值】 【返回的值】
....
ps:表达式的值和返回的值是两个概念,-x++,-x--可看做-(x++),-(x--).++,--的优先级高于+,-
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询