这是我今天看到的一段代码:
case _KEY_UP:
if(tFALSE == pressOKstate)
{
……;
}
else
_Buzzer_SetAlertToneType(_BUZZER_PANEL_ALERT);
break;
case _KEY_DOWN:
……
现在_Buzzer_SetAlertToneType()这个函数没用了,所以我在UltraEdit里直接用空格替换了这只函数。代码变成了这样:
case _KEY_UP:
if(pressOKstate == tFALSE)
{
}
else
break;
case _KEY_DOWN:
……
有趣的地方来了。当pressOKstate == tFALSE成立的时候,这个case就没了break,行为被下一个case语句覆盖了。
所以还是推荐大家这么写if语句:
if()
{
……;
}
else
{
……;
}
这其实就是个规范的问题。一个好的规范,能杜绝大部分的意外发生,很多时候以为多此一举的事情,到关键时刻才能发现它的其重要性。所以,不要偷懒:P。
