[应用相关]

函数返回值的几点疑问,请各位大侠不吝赐教,非常感谢

[复制链接]
500|10
手机看帖
扫描二维码
随时随地手机跟帖
laocuo1142|  楼主 | 2021-2-24 09:54 | 显示全部楼层 |阅读模式
详细函数结构如下:
u8  LED_con( )
{
        if(语句1)
        {
                while(语句2)
                {
                        语句3;
                        return  1;
                }
                return 2
        }        
       return 3
}
1、哪位高手可以给解释一下"return 1"      "return 2"    "return 3" 的区别?是不是这个函数无论是否有"return 1" 或"return 2" ,最终函数的返回值都会是"return 3" ?

2、正常我需要的是return 1。如果只有"return 1"      "return 2" 而没有return 3, 函数最后就会提示“missing return statement at end of non-void fuction "LED_con"。。。。如果有"return 1"      "return 3",函数就不会报警。
3、因为"return 1"  的值是我想要的,但是最后如果有"return 3"    ,是不是即使前面有"return 1"  ,最终也会被 "return 3"顶替???

使用特权

评论回复
梦幻人生人| | 2021-2-24 13:42 | 显示全部楼层
把while 改成if,就满足要求。建议楼主多看看c语言关于关键字功能描述。

使用特权

评论回复
zchong| | 2021-2-24 15:14 | 显示全部楼层
随便找本C语言的书先看看啊

使用特权

评论回复
Prry| | 2021-2-24 23:33 | 显示全部楼层
一个函数只有一个return。return后,函数即退出,不会执行下面。return 3是前面条件不成立才会执行,缺少return3编译器会报警告,因为函数可能没返回值。

使用特权

评论回复
waaini| | 2021-2-25 08:40 | 显示全部楼层
return会立刻跳出函数堆栈,并返回相应的值。建议先学好C的基础,这很重要,不然光是看库里的指针你就会晕。

使用特权

评论回复
laocuo1142|  楼主 | 2021-2-25 09:13 | 显示全部楼层
感谢给我老大回答,问题解决了,感谢

使用特权

评论回复
coshi| | 2021-3-4 10:36 | 显示全部楼层
跳出整个函数啊

使用特权

评论回复
tfqi| | 2021-3-4 10:40 | 显示全部楼层
每一个都是跳出最外围吗

使用特权

评论回复
wiba| | 2021-3-4 10:42 | 显示全部楼层
结构还是很好的

使用特权

评论回复
zljiu| | 2021-3-4 10:45 | 显示全部楼层
效果是一样的

使用特权

评论回复
aoyi| | 2021-3-4 10:50 | 显示全部楼层
实践一下就知道结果了 而且印象深刻

使用特权

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

本版积分规则

958

主题

3923

帖子

10

粉丝