请问为什么逻辑运算符&&的优先级别比||高,但在一个逻辑表达式中若有多个&&或||时,运算总是从左到右进行?不是应该先算
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/28 07:53:47
请问为什么逻辑运算符&&的优先级别比||高,但在一个逻辑表达式中若有多个&&或||时,运算总是从左到右进行?不是应该先算&&吗?
![请问为什么逻辑运算符&&的优先级别比||高,但在一个逻辑表达式中若有多个&&或||时,运算总是从左到右进行?不是应该先算](/uploads/image/z/2246209-25-9.jpg?t=%E8%AF%B7%E9%97%AE%E4%B8%BA%E4%BB%80%E4%B9%88%E9%80%BB%E8%BE%91%E8%BF%90%E7%AE%97%E7%AC%A6%26%26%E7%9A%84%E4%BC%98%E5%85%88%E7%BA%A7%E5%88%AB%E6%AF%94%7C%7C%E9%AB%98%2C%E4%BD%86%E5%9C%A8%E4%B8%80%E4%B8%AA%E9%80%BB%E8%BE%91%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD%E8%8B%A5%E6%9C%89%E5%A4%9A%E4%B8%AA%26%26%E6%88%96%7C%7C%E6%97%B6%2C%E8%BF%90%E7%AE%97%E6%80%BB%E6%98%AF%E4%BB%8E%E5%B7%A6%E5%88%B0%E5%8F%B3%E8%BF%9B%E8%A1%8C%3F%E4%B8%8D%E6%98%AF%E5%BA%94%E8%AF%A5%E5%85%88%E7%AE%97)
这个没有为什么的,这是规定的.
&&的优先级比||的高.
它们的顺序都是从左到右.
多个的时候,也是&&先,方向也是从左到右.
可能多个的时候,有其他运算符的问题,比较括号之类.
你说不是这样,你就得说出例子了.
再问: 例2:多个 && 或 || 符使用时的“短路操作” 。 int x,y,z,l1,l2; 比如说这个。。 x=y=z=1; l1= x || y && z; // l1、x、y、z的值分别为: x=-1; l2= x || y && --z; // l2、x、y、z的值分别为:
再答: 这个就是短路造成的。 l1那个应该没问题吧, 对于l2 要怎么看 x|| ( y&& --z) 对于逻辑运算符, 表达式1||表达式2 只要表达式1=true ,则不管表达式2的情况 对于逻辑运算符, 表达式1&&表达式2 只要表达式1=false 则不管表达式2的情况 。 这应该是优化的问题,这样就可以加快运算的速度 。 但是你换成 y&&--z || x 这样就不会了 为此,还有更好玩的地方, z=0 . x||( y/z) 这样也是没有问题的。
再问: 那11那个,既有||又有&&,为什么不是先算 y&& z而是先 x|| y?那样&&的优先性不是没有体现了吗?
再答: 上面不是说了吗。 对于逻辑运算符, 表达式1||表达式2 只要表达式1=true ,则不管表达式2的情况 因为表达式x=1了,所以他就不看表达式2了。 这不是优先级的问题,应该是优化的问题。只要表达式1为真,那么后面就可以不用管了
&&的优先级比||的高.
它们的顺序都是从左到右.
多个的时候,也是&&先,方向也是从左到右.
可能多个的时候,有其他运算符的问题,比较括号之类.
你说不是这样,你就得说出例子了.
再问: 例2:多个 && 或 || 符使用时的“短路操作” 。 int x,y,z,l1,l2; 比如说这个。。 x=y=z=1; l1= x || y && z; // l1、x、y、z的值分别为: x=-1; l2= x || y && --z; // l2、x、y、z的值分别为:
再答: 这个就是短路造成的。 l1那个应该没问题吧, 对于l2 要怎么看 x|| ( y&& --z) 对于逻辑运算符, 表达式1||表达式2 只要表达式1=true ,则不管表达式2的情况 对于逻辑运算符, 表达式1&&表达式2 只要表达式1=false 则不管表达式2的情况 。 这应该是优化的问题,这样就可以加快运算的速度 。 但是你换成 y&&--z || x 这样就不会了 为此,还有更好玩的地方, z=0 . x||( y/z) 这样也是没有问题的。
再问: 那11那个,既有||又有&&,为什么不是先算 y&& z而是先 x|| y?那样&&的优先性不是没有体现了吗?
再答: 上面不是说了吗。 对于逻辑运算符, 表达式1||表达式2 只要表达式1=true ,则不管表达式2的情况 因为表达式x=1了,所以他就不看表达式2了。 这不是优先级的问题,应该是优化的问题。只要表达式1为真,那么后面就可以不用管了
请问为什么逻辑运算符&&的优先级别比||高,但在一个逻辑表达式中若有多个&&或||时,运算总是从左到右进行?不是应该先算
设计一个表达式编写一个程序,并根据其结果说明算术运算、赋值运算、关系运算、逻辑运算之间的优先级别.
逻辑运算问题1||0&&0 怎么运算的 为什么是1?是从右往左?还是 &&级别高于||?# include int ma
在VFP中,如果一个表达式中包含数值运算、关系运算、逻辑运算和函数时,运算的先后顺序是怎样的?
C语言逻辑运算符和逻辑表达式
逻辑运算表达式非2进制的数怎样进行逻辑运算?逻辑运算符的优先级是怎样的
matlab中a=[5 0.2 0;0 -8 -0.7] ,在进行逻辑运算时,a相当于什么样的逻辑量.为什么?
在VBA中,一个表达式中同时含有算数运算符关系运算符、关系运算符和逻辑运算符,其运算次序是____.
程序设计中,关于逻辑运算的一个问题.对于逻辑表达式“x and y or not z”,
计算机在进行算术和逻辑运算时,运算结果可能性产生溢出的是?
Matlab中,a=[0 0.2 1 0 -5 9]在进行逻辑运算时,a相当于什么样的逻辑量?
k%2==1这个表达式,先算逻辑运算,还是算关系运算,还是数字运算