打印

各位大哥帮帮忙

[复制链接]
849|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
新手求带|  楼主 | 2018-11-29 17:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个警告怎么弄没warning C291: not every exit path returns a value
这是代码
unsigned char KeyScan(void)
{
  unsigned char num,tmp;
  KeyPort = 0xf0;
  if((KeyPort & 0xf0) != 0xf0)
  {
    delayus(10);
    if((KeyPort & 0xf0) != 0xf0)
    {
      num = 0xfe;
      while((num & 0x10) != 0)   
      {                                                       
        KeyPort = num;
        if((KeyPort & 0xf0) != 0xf0)
        {
          tmp = (KeyPort & 0xf0)|0x0f;
          return((~num)+(~tmp));
        }
        else
          num = (num << 1)|0x01;
      }
    }            
  }
        else
          return 0;
}

相关帖子

沙发
Cjy_JDxy| | 2018-11-29 17:35 | 只看该作者
好像是说有的路径有返回值,有的路径没有。

使用特权

评论回复
板凳
新手求带|  楼主 | 2018-11-29 18:21 | 只看该作者
Cjy_JDxy 发表于 2018-11-29 17:35
好像是说有的路径有返回值,有的路径没有。

这个意思我知道,但我不知道怎么改

使用特权

评论回复
地板
Cjy_JDxy| | 2018-11-29 19:01 | 只看该作者
好几个地方需要return语句。你搞得太复杂了

使用特权

评论回复
5
ayb_ice| | 2018-11-30 09:17 | 只看该作者
本帖最后由 ayb_ice 于 2018-11-30 09:19 编辑

unsigned char KeyScan(void)
{
        unsigned char num,tmp;
        KeyPort = 0xf0;
        if((KeyPort & 0xf0) != 0xf0)
        {
                delayus(10);
                if((KeyPort & 0xf0) != 0xf0)
                {
                        num = 0xfe;
                        while((num & 0x10) != 0)
                        {
                                KeyPort = num;
                                if((KeyPort & 0xf0) != 0xf0)
                                {
                                        tmp = (KeyPort & 0xf0)|0x0f;
                                        return((~num)+(~tmp));
                                }
                                else
                                {
                                        num = (num << 1)|0x01;
                                }
                        }
                }
        }
       
        return 0;
}

使用特权

评论回复
6
新手求带|  楼主 | 2018-11-30 17:44 | 只看该作者
ayb_ice 发表于 2018-11-30 09:17
unsigned char KeyScan(void)
{
        unsigned char num,tmp;

谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

19

帖子

1

粉丝