-5

如果我写

PORTA =0b00000001;
PORTB =0b00000000;
PORTC =0b11111111;
PORTD =0b10100110;
if(PORTA){
//will this block be true?if yes then why and how it is evaluated
}
if(PORTB){
//smae here,to check true or false.
}
if(PORTC){
//if true then why or false,why?
}
if(PORTD){
//same
}

如果上面的陈述是错误的,那么如何检查端口的状态?

4

1 回答 1

1

通常在 C 中,任何非零数都将评估为真。如果要检查端口中特定位的值,请使用二元与运算符&。注意:逻辑与、&&和二进制与、&、 不是一回事。

在您的问题中,只有 PORTB 会评估为假。

于 2013-06-23T12:51:23.757 回答