C语言中,if语句后面加return 的用法的疑问。

2020-01-21 21:34发布

有这么一段代码:
void xxx()
{
    if(rs_buf[0]=='$')
    {
        for(i=0;i<sizeof(GPS_GPRMC)-1;i++)
        {
            j=getuartdat();
            if(j<256)
            {
                rs_buf=(alt_u16)j;
                if(rs_buf!=GPS_GPRMC)
                return;
            }
        }
    }
}
当这句话成立: if(rs_buf!=GPS_GPRMC)
                return;

即return执行后,程序再怎样运行,是不是直接跳出了函数xxx,即return在这里的作用是结束函数的运行?
有点疑惑,请大侠指教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
44条回答
crazydtone
1楼-- · 2020-01-26 19:27
dr2001 发表于 2011-1-1 21:53
回复【9楼】hzr0071  
-----------------------------------------------------------------------

今天早上调程序时发现,当I2C操作失败时,return后程序死掉啦。
编译器中设置的优化等级为Medium。

请教一哈,这可能是什么导致的呢?
liyang121316
2楼-- · 2020-01-27 00:28
个人认为8楼正解。
mybigapple
3楼-- · 2020-01-27 03:38
这样的讨论好。明白的复习一下,不明白的学习一下。支持。
xrydt
4楼-- · 2020-01-27 06:09
 精彩回答 2  元偷偷看……
LiuYH
5楼-- · 2020-01-27 11:37
直接跳出函数
minier
6楼-- · 2020-01-27 17:16
3楼正解

一周热门 更多>