我寫了一個簡單的代碼來解決一個人為的問題。我希望程式在 之后退出回圈體N =< 3,但在不滿足條件后繼續迭代。我哪里做錯了?
int main(){
uint8_t N = 0;
int power = 1;
std::cin >> N;
while (N >= 4){
power *= 3;
N -= 3;
}
power *= N;
std::cout << power;
return 0;
}
gcc 12.2.0. Flags -Wall -O2
我嘗試使用回圈for (N; N >= 4; N -=3),但結果沒有改變。
uj5u.com熱心網友回復:
uint8_t是char型別。
在 stdint.h 中,
typedef unsigned char uint8_t;
'4'52由于隱式轉換,將導致整數。
int如果您接受號碼,您可以只使用型別。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/526368.html
上一篇:一起使用IF陳述句和Now()
