標(biāo)題: while語句的困惑 求解 [打印本頁]

作者: age20000    時間: 2012-5-19 22:38
標(biāo)題: while語句的困惑 求解

------------------------------------------------*/
#include<reg51.h>    

sbit key1=P1^0;

sbit key2=P1^1;
sbit key3=P1^2;
sbit key4=P1^3;

main()
{
  bit Flag;
while(!Flag)

      {
      if(!key1)     {P2=0xFE;Flag=1;}
   else if(!key2){P2=0xFD;Flag=1;}
   else if(!key3){P2=0xFB;Flag=1;}
   else if(!key4){P2=0xF7;Flag=1;}
      }
 
while(Flag)

}

這是個4通道搶答器的程序    我發(fā)現(xiàn)如果不加最后那句while(Flag),則按鍵并沒被鎖定,按下key1,1號燈亮,接著按key2,又變成2號燈亮了,

按道理講,當(dāng)?shù)谝淮伟聪耴ey1后,F(xiàn)lag的狀態(tài)不是變化了嗎,應(yīng)該不符合while的條件了啊,為什么還能繼續(xù)執(zhí)行里面的if else語句了?

本人初學(xué),求各位大俠指點(diǎn)迷津

 






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1