您好、欢迎来到现金彩票网!
当前位置:ag视讯 > 高优先级 >

C++程序设计中和的优先级问题

发布时间:2019-07-12 16:46 来源:未知 编辑:admin

  这个程序里面,为什么不先执行(++y)&&(++x)?程序先判断了xy,然后后面的那部分表达式就被短路了。&&不是比优先级高吗?请问怎么解释。...

  这个程序里面,为什么不先执行(++y)&&(++x)?程序先判断了xy,然后后面的那部分表达式就被短路了。&&不是比优先级高吗?请问怎么解释。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  这句输出里的式子可以理解为((xy)((++y)&&(++x))),这样就可以看出来,只要左边的式子为真,后面的是不执行的。

  参考:更多追问追答追问难道编译器不应该先判断右边的式子是否为真?追答不是啊,是先判断左边的式子,再判断右边的式子

  &&是在左边的式子为真的情况下才判断右边的式子追问但是&&的优先级比高啊…

  优先级高只是结合的吧,比如!的优先级比的优先级高,a!b你会认为是先算!b吗?

  A && B,当A为逻辑假时,整个表达式的值已经可以确定为假,B就不执行了

  当&&和同时存在的时候,即 A B && C 的时候,为什么不是先计算B&&C?如果A已经是逻辑真,就没必要再计算B&&C了。虽然&&的优先级比高,用括号括起来看是这样:(A) (B && C),A和B&&C是同等优先运行的表达式,按照从左至右的运行规则,先计算A,发现A为逻辑真后,B&&C就不执行了。

http://bed-plans.net/gaoyouxianji/595.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有