STM32/STM8技术william hill官网
直播中

关心月

6年用户 100经验值
擅长:嵌入式技术,控制/MCU
私信 关注
[问答]

总是提示函数缺少返回值声明

本帖最后由 a0030a 于 2020-10-26 07:44 编辑

详细函数结构如下:
u8  led_con( )
{
        if(语句1)
        {
                while(语句2)
                {
                        语句3;
                        return  1;
                }
                return 2
        }        return 3
}
提问:为什么while循环中明明有返回值,可以跳出while循环,而扔提示函数最后缺少返回值
请各位高手指教


已退回10积分

回帖(8)

关心月

2020-10-24 17:31:31
missing return statement at end of non-void fuction "LED_con"
举报

chenwei6991627

2020-10-24 17:41:23
while 后面是真就执行,有return,如果是假呢,没有return,所有缺少一个return
举报

人中狼

2020-10-24 17:52:37
return是直接退出整个函数
举报

阿信509

2020-10-25 20:45:44
函数的末尾一句必须是返回值,那样就没错了
举报

关心月

2020-10-26 07:50:14
哪位高手可以给解释一下"return 1"      "return 2"    "return 3" 的区别?是不是这个函数无论是否有"return 1" 或"return 2" ,最终函数的返回值都会是"return 3" ?
举报

gugustock电子狂

2020-11-11 12:54:52
缺少 分号
或者
函数 没有 被 调用 成功
...
举报

gugustock电子狂

2020-11-11 12:55:21
纠正 为

缺少 分号
或者
函数 没有 被 调用 成功
...
举报

陈林

2020-12-18 17:26:50
编译器会尝试按照你的程序逻辑去运行,大概检测到某种情况是不会 return的,好好检查下代码先.换句话说,如果最开始的if语句是不成立的,岂不就是没有 return语句被执行么.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分