两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是,第1张

当从键盘上输入6时,x=6,x++表达式的值为6,接着x自加1,即x=7,故x++=6>5成立,输出x的值7;当从键盘上输入4时,x=4,x++表达式的值为4,接着x自加1,即x=5,故x++=4>5不成立,输出x--(后置运算),所以先输出x的值5,之后再进行自减1 *** 作。

i++ 和 ++i 是不一样的。这两个的优先级是不一样的。在查表的时候应该能注意到有两个++和--,i++ 是先用 i 再自加,++i 是先自加再用 i。

扩展资料:

优先级与求值顺序无关。如a+b &&b*c,虽然*优先级最高,但这个表达式求值顺序是从左到右。

优先级从上到下依次递减,最上面具有最高的优先级,逗号 *** 作符具有最低的优先级。

相同优先级中,按结合性进行结合。大多数运算符结合性是从左到右,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

基本的优先级需要记住:

指针最优,单目运算优于双目运算。如正负号。

先算术运算,后移位运算,最后位运算。请特别注意:1 <<3 + 2 &7等价于 (1 <<(3 + 2))&7.

逻辑运算最后结合。

参考资料来源:百度百科-运算符优先级

x++跟x--都是先执行当前语句然后再加减的~

例如:

if(x++>5)这个语句是先之行(x>5)再执行(x=x+1)的

相同的

printf("%d\n",x--)

是先输出来x

再进行x=x-1;的~

所以输入6时

先判断6>5

正确

然后

6+1=7

然后输出

输入4时

先判断4>5

错误

然后

输出x

输出之后4-1=3;

(注意是先输出来4再运算变成3的)

两种题型是不同的~第一题中,x++,表示先用后变。即先调用x的值,调用完之后,x自身加1.这题里输入2,那么先调用2,2>2不成立,不执行if的语句。但是x还是要自身加一个1.变为3.之后输出也是同理,x--,先调用x的值3,输出3,然后x自身再-1变为2.

下面类型考的是算法:||或运算里是只要有一个满足,那么就为真。你先++a>0满足条件,此时已经为真,那么就会屏蔽后面的算法。 同理,当&&运算时,若前面的条件为假,那么结果已经为假。屏蔽后面的算法,即第二个表达式不执行~


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11022577.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存