已知a,b,c的值分别为2,5,1,逻辑表达式'0'||(a>b)&&(b>c)||(a-c)的值是怎么算的呀?要先算逻辑与么?请c++
问题描述:
已知a,b,c的值分别为2,5,1,逻辑表达式'0'||(a>b)&&(b>c)||(a-c)的值是怎么算的呀?要先算逻辑与么?请c++
答
a - c优先级更高,先计算 a-c,a -c = 1,得到 '0' || (a > b) && (b> c) || 1,然后计算 (a > b) && (b> c),a > b 为false,所以 b > c 不算 ,得到 '0' || false || 1,然后从左到右短路求值,得到结果为真