的& &(邏輯與)運算符表示兩個操作數是否真實。 || (邏輯OR)運算符指示至少一個操作數爲真。而且......操作數是多少?
當你使用一個簡單的表達式,如x == 1,這被認爲是一個操作數。
如果使用括號,則括號內的所有內容都將被視爲一個操作數,無論其內部有多複雜。所以你可以組條件。
因此x == 1 && (y == 1 || y == 2)
將評估第一個操作數x == 1
是否爲真,第二個操作數是整個(y == 1 || y == 2)
爲真。
要知道括號內的內容是真是假,無論它裏面有什麼都被評估爲獨立表達式。
所以,我們必須要操作數。首先,它會檢查x == 1是否爲真。如果它是假的,它不會檢查括號內是什麼,它不重要,因爲無論如何第一個條件不滿足。如果x == 1,我們可以檢查第二個操作數: ,以便檢查括號內的表達式,即y == 1 || y == 2,如果有一些是真的,那麼(y == 1 || y == 2)
是真操作數,整個表達式將是x == 1 && true
,所以基本上它取決於x,如果括號內沒有爲真,那麼(y == 1 || y == 2)
是一個假操作數,並且整個操作會x == 1 && false
所以一切都是假的
如果你不使用支架,就可以達到同樣的效果,但你必須檢查precedence rules,那將是很難記住,在開始時
我建議您在學習編程語言之前,閱讀一些關於布爾型algebra和logic的教程。此後一切都會變得更加輕鬆。
就像在算術中一樣,'AND'就像'*','OR'就像'+'一樣。 – moonwave99
總是把你的條件放在使用括號的「塊」中是個好習慣,所以不用'if(x == 1 &&(y == 1 || y == 2))'if((x == 1)&&((y == 1)||(y == 2)))'。當您開始使用支持宏的語言或使用預處理器 –