2016-01-13 73 views

回答

3

這是一個條件if,並且是一樣的:

if(player % 2) 
    player = 1; // Odd 
else 
    player = 2; // Even 

另一種方式來做到這一點沒有if分支:

player = 2 - (player & 0x01); 

最低顯著位是偶數爲零。

3

這是ternary operator

這行代碼將設置player1如果player原本很奇怪,並2如果是偶數。

+0

@juanchopanza:對。我的意思是說它應該用於它的回報價值,而不是副作用。 –

0

這是三元運算符。它採用這種形式:

boolean expression ? a : b; 

翻譯爲:

If this expression is true, then a else b 

它經常被用來作爲賦值運算符右側的表達。在你的情況下,player根據它們是偶數還是奇數分配1或2。

0

這意味着,如果條件爲真,那麼球員的值爲1,否則它有2

if(player % 2) { 
    player = 1; 
} else { 
    player = 2; 
}