if(n & 1 == 1) count++;
報的是這個bad operand types for binary operator '&'
一直覺得是後面的“true”“false”有什麼問題,但也發現不了。後來才知道確實是優先級的問題,可能受到賦值(=)運算符的影響,以爲&的優先級比“==”大,實際上恰好相反。相對於位運算符,恆等運算符優先級大一點,這樣就導致了“&”左邊是int型,右邊是boolean型,果然基礎的東西還是不能忽視啊!
後面的比較比前面的優先,所以出了這個問題。