我有时会看到这样一个C程序(我使用的是C18编译器):C如何处理if语句中的非布尔值?
unsigned char someValue = getSomeDataFromSomewhere();
if (someValue) {
doStuff();
} else {
doOtherStuff();
}
我知道当你给一个if
环(在C18编译器unsigned
)一个布尔值会发生什么,但会发生什么当你把一个非布尔值?
我的猜测是:doStuff()
的值不为零,doOtherStuff()
的值为零。但我不知道这一点,所以我想获得一些参考。