我很困惑。只是想熟悉switch structures
並獲得「1」作爲該代碼的結果是:3%3 = 1? Noob警報
int x = 13;
switch(x % 5) {
case 0: x=2; break;
case 1: x=3; break;
case 2: x=4; break;
case 4: x=5; break;
default: x = x % 3;
}
cout << x;
我以爲開關表達會比較其結果和不同的情況。 3的情況下沒有const_i的情況,所以我已經預測3%3 = 0。但結果是1.
如果我更改默認值:x = x%3到x%7,我明白x仍然是13,但是爲什麼?
感謝您的解釋!
'x%5'不修改'x'。當你到達你的'default'時,''標籤'x'仍然是'13'。 – AnT
'13%3'正確評估爲'1'。 – Charles
13和3不是相同的數字。 – hobbs