return (b & 0x20) ? b | ~0x3F : b & 0x3F;
無論如何,是否可以使用 if 和 else 或任何其他陳述句撰寫此函式。我已經試過這個了,但沒有用。
if (return (b & 32)) {
b | ~63;
} else {
b & 63;
}
}
uj5u.com熱心網友回復:
你只是把你的return放在錯誤的地方。嘗試這個:
if (b & 0x20) {
return b | ~0x3F;
}
else {
return b & 0x3F;
}
我認為 C 不會讓您從if條件的中間回傳,即使這樣做了,這也不符合您原始代碼行的行為,因為您將回傳錯誤的內容。
uj5u.com熱心網友回復:
if (b & 0x20)
{
return b | ~0x3F;
}
// else implied
return b & 0x3F;
一些編碼標準不喜歡多個return陳述句。另一種選擇是
if (b & 0x20)
{
b |= ~0x3F;
}
else
{
b &= 0x3F;
}
return b;
但是,這是不同的邏輯,因為 的值b實際上是在變化的。如果是本地的,沒有問題。否則,可能會產生進一步的影響。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370319.html
標籤:C
上一篇:為什么不列印0到999?
