标题: 函数里面有多个if但是我想要他执行完某个if之后直接跳出整个Keyscan()函数 [打印本页]

作者: lengyu309    时间: 2017-5-22 15:46
标题: 函数里面有多个if但是我想要他执行完某个if之后直接跳出整个Keyscan()函数
函数里面有多个if但是我想要他执行完某个if之后直接跳出整个Keyscan()函数?
求解:函数里面有多个if但是我想要他执行完某个if之后直接跳出整个Keyscan()函数?
void keyscan()
{  
  if(right==0)
{   
   delayms(5)
   if (right==0)
   gamesstatues=0;
}
if(down==0)
{   
   delayms(5)
   if (down==0)
   gamesstatues=1;
}
if(up==0)
{   
   delayms(5)
   if (up==0)
   gamesstatues=3;
}
if(left==0)
{   
   delayms(5)
   if (left==0)
   gamesstatues=2;
}
}

作者: zqy181818    时间: 2017-5-22 16:37
用语句break;
作者: bbg3659    时间: 2017-5-22 16:37
if本来就是判断语句啊.当你下面的不符合条件的情况下是不会跑的.比如第一个if(right==0),当为真时,程序就会自动去跑 gamesstatues=0为条件的语句.......
我是这么想的.....

作者: 云破千笙    时间: 2017-5-22 16:57
本帖最后由 云破千笙 于 2017-5-22 17:11 编辑

根据楼主的意思,想要跳出函数Keyscan();
在执行的if语句里加 return; 就能跳出函数了
void keyscan()
{  
         if(right==0))
        {   
           delayms(5))
           if(right==0))
           gamesstatues=0;
           return;
        }
        if(down==0))
        {   
           delayms(5))
           if(down==0)
           gamesstatues=1;
           return;
        }
        if(up==0))
        {   
           delayms(5))
           if(up==0))
           gamesstatues=3;
           return
        }
        if(left==0))
        {   
           delayms(5)
           if(left==0))
           gamesstatues=2;
           return;
        }
}

作者: 1306050211    时间: 2017-5-23 15:02
用一个return就好了

作者: 灰灰灰    时间: 2017-5-23 15:09
加个return 1;
作者: 3760609865    时间: 2017-5-23 23:17
我也有相同的疑问,学习了,谢谢。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1