我有時會看到這樣一個C程序(我使用的是C18編譯器):C如何處理if語句中的非布爾值?
unsigned char someValue = getSomeDataFromSomewhere();
if (someValue) {
doStuff();
} else {
doOtherStuff();
}
我知道當你給一個if
環(在C18編譯器unsigned
)一個布爾值會發生什麼,但會發生什麼當你把一個非布爾值?
我的猜測是:doStuff()
的值不爲零,doOtherStuff()
的值爲零。但我不知道這一點,所以我想獲得一些參考。