怎么样跳出题中的while(1)的死循环
void DisplayKey_point (void) //数字模块
{
while(1)
{
if(ReadKey())//如果没有按键按下,则直接退出
{
key=IdentifyKey();//识别按键编号
while(ReadKey());
}
if(key==1){DisplayKey(q,0x31);}
if(key==2){DisplayKey(q,0x32);}
if(key==3){DisplayKey(q,0x33);}
if(key==4){DisplayKey(q,0x34);}
if(key==5){DisplayKey(q,0x35);}
if(key==6){DisplayKey(q,0x36);}
if(key==7){DisplayKey(q,0x37);}
if(key==8){DisplayKey(q,0x38);}
if(key==9){DisplayKey(q,0x39);}
if(key==10){DisplayKey(q,0x30);} }
if(key>=11){}
}
加break
刚试了一下!如果加break导致那个函数失效,调用不了!想强制用goto!求赐教···
直接写成while(key<11)
改成这样不行的,我需要这个死循环,你这样是可以跳出这函数!但我的设计其他模块会冲突!很难说清楚!现在要的就是跳出这函数和这死循环从而可以选择其他功能模块!
问题是你的跳出条件是什么,程序中最好少用goto
if(key>=11)时跳出,我知道要少用goto!请问有什么其他方法呢·····
我研究出来了,是加break!但我的效果不太好!继续和大家讨论下更好的建议···thx
void DisplayKey_point(void) //数字模块
{
while(1)
{
if(ReadKey())//如果没有按键按下,则直接退出
{
key=IdentifyKey();//识别按键编号
while(ReadKey());
}
if(key <= 10) (q,0x30+key);
else ?; //要干什么自己写,不干什么就省略
}
这程序做的,没见过实时性这么牛皮的
10看错了,处理一下
谢谢大哥啦,本菜鸟还需要多学习
呵呵 终于解决了
不能说解决!方法还有很多的,还需要更多学习···
LOOP:(在想跳到的地方)
goto LOOP;(在想跳出的地方)
试过有用的
要是break效果不好...你加入个中断试试
return
你为什么不用switch呢
switch应该和那个情况一样