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