问答详情
源自:2-11 是非颠倒(逻辑非操作符)

&&和||后面都是不加()的, jq1=!(numa<numb) 为什么!后面要加()号?

&&和||后面都是不加()的,     jq1=!(numa<numb) 为什么!后面要加()号?       

提问者:小呆呆呆 2016-08-16 10:18

个回答

  • 慕粉3951534
    2016-10-09 16:56:03

    和优先级相关,!的优先级高于<,如果!(numa<numb)不加括号,就会先计算!numa,再计算<numb。

    至于&&和|| 左右不加括号,是因为在那些表达式中,&& 和 || 的优先级较低,会先计算左右的表达式,最后计算 && 和 ||,加不加括号都不影响结果。

    建议去好好看一下编程基础中运算符的优先级关系,这个是通用的,无论哪门语言都一样。


  • 易慕秋
    2016-08-16 11:44:17

    运算符的优先级,算术>比较>逻辑运算>赋值

  • H0st
    2016-08-16 11:38:58

    看起来就像数学公式里,加减法与乘除法那样

  • 慕粉3786140
    2016-08-16 10:55:14

    低优先级的表达式加括号转为高优先级。

  • 慕桂英1668911
    2016-08-16 10:41:54

    优先级

  • 冷夜色cheeks
    2016-08-16 10:35:30

    numa<numb这部分是一个整体,所以括住,如果没有括号就是!numa和numb比较了。

  • milos
    2016-08-16 10:27:52

    后面括号里是条件嘛 !代表的是“非”就是 false