例5 if ( a>0 || b<0 ){ printf("a > 0 又は b < 0\n"); } |
論理 or も左から右へと評価し、もし左の値が真ならば全体の値は右の値に 関わらず真なので、その場合右の値は評価されない。
例6 if ( a>0 && b>0 || c>0) ... |
この例では、演算の順序に気をつける必要がある。表に書いた様に、論理 and と論理 or では、論理 and の方が優先度が高いので、上の条件は次のプログラムと 同じである。
例7 if ( (a>0 && b>0) || c>0 ) ... |