&&與||的優先級比較類似於一種思維體操,更多的是造成矛盾,使得兩者因為先后順序的不同而造成的不同結果,當然有時候需要注意c語言中的短路運算。
方法1.
代碼如下:
點擊查看代碼
#include<stdio.h>
int main()
{
printf("%d\n", 1 || 0 && 0);//line 1
printf("%d\n", 0 && 0 || 1);//line 2
//注意c語言中沒有專門輸出bool類型的格式符,通常通過%d的01來判斷真假
return 0;
}
上述的代碼輸出結果為:
1
1
上述的代碼證明了&&優先級高於||
原因如下:
如果先進行||那么line1中的應該為
(1 || 0) && 0
1 && 0
0
如果先進行&&那么line1中的應該為
1 || (0 && 0)
1 || 0
1
對於line2的思想也是如此
