&&与||使用区别:应为对于||左边为真,右边就不用算了,但对于&&左边为假,右边才不用算的,为真右边还要算的。
&&、||是条件和与或是逻辑运算符;这个应该没错吧
看题目:
hz,lz,hzpj,lzpj是double类型,且已赋值;
if(hz-hzpj < 0 && lz-lzpj > 0 || hz-hzpj > 0 && lz-lzpj < 0 )
是不是hz-hzpj < 0为假的话,|| hz-hzpj > 0 && lz-lzpj < 0:这个是不是不算了

解决方案 »

  1.   

    &&逻辑与
    ||逻辑或
    !逻辑非
      

  2.   

    hz-hzpj   <   0 为假的时候 && 右边的 lz-lzpj   >   0 不会计算,但是他们的计算结果 也就是 hz-hzpj   <   0   &&   lz-lzpj   >   0的计算结果为假将会继续和hz-hzpj   >   0   &&   lz-lzpj   <   0进行运算
      

  3.   

    && 和 || 都是左结合的 就是说自左向右运算 所以第一个&&判断为假 后面就不进行计算了...
      

  4.   

    if(hz-hzpj<0 &&lz-lzpj>0 ¦¦hz-hzpj>0 && lz-lzpj< 0)
    {
       i=1;
    }
    else(hz-hzpj<0 &&lz-lzpj>0 ¦¦hz-hzpj>0 && lz-lzpj< 0)
    {
       i=2;
    }
    n=i;
    if那个¦¦左边是false 右边是true,n的结果是不是1的呢。
    如果不是怎么做才是啊?
      

  5.   

    if里的变量都是double类型的,我比较后总是输出2来的哪里出问题了啊?
      

  6.   

    一般符号运算都有优先级,它与括号的优先级有相似的处理方法
    逻辑运算的优先级为非、与、或
    LZ给出程序如果加上括号的话(等效结果)if(  (hz-hzpj < 0 && lz-lzpj > 0) ¦¦ (hz-hzpj > 0 && lz-lzpj < 0) ) 
    这样写,LZ是不是能看清楚