找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2187|回复: 12
收起左侧

请C语言高人指点一下,这里if语句里面return;怎么理解?

  [复制链接]
ID:632950 发表于 2020-6-22 19:56 | 显示全部楼层 |阅读模式
请高人指点一下,这里if语句里面return;怎么理解???



//交通灯切换
void Traffic_Light()
{
switch(Operation_Type)
{
case 1: //东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return; //闪烁 5 次
Flash_Count=0;
Operation_Type=3;
break;
case 3: //东西向红灯,南北向绿灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
RED_B=1;YELLOW_B=1;GREEN_B=0;
DelayMS(2000);
Operation_Type=4;
break;
case 4: //南北向黄灯闪烁 5 次
DelayMS(300);
YELLOW_B=~YELLOW_B;GREEN_B=1;
if(++Flash_Count!=10) return;
Flash_Count=0;
Operation_Type=1;
}
}


回复

使用道具 举报

ID:332444 发表于 2020-6-23 08:15 | 显示全部楼层
结束函数处理
回复

使用道具 举报

ID:780108 发表于 2020-6-23 21:01 | 显示全部楼层
这是代码优化 条件触发了 直接返回 提高执行效率
回复

使用道具 举报

ID:584814 发表于 2020-6-24 10:02 | 显示全部楼层
说人话:如果那样就不玩了
回复

使用道具 举报

ID:788533 发表于 2020-6-24 11:34 | 显示全部楼层
结束if语句也可以用return,在这里和beak差不多的功能,也可以理解为释放内存空间
回复

使用道具 举报

ID:632950 发表于 2020-6-24 12:42 | 显示全部楼层
W1715967210 发表于 2020-6-24 11:34
结束if语句也可以用return,在这里和beak差不多的功能,也可以理解为释放内存空间

我调试了一下,发现是直接跳到switch语句末尾那个大括号了,我可以理解为它结束了整个switch语句吗?烦请指教
回复

使用道具 举报

ID:632950 发表于 2020-6-24 12:43 | 显示全部楼层
man1234567 发表于 2020-6-24 10:02
说人话:如果那样就不玩了

那属实任性
回复

使用道具 举报

ID:632950 发表于 2020-6-24 12:49 | 显示全部楼层

return;是在if语句里边,外面又有一个switch语句,再往外是自定义函数,return;它结束函数,而非结束语句,就是说只要条件满足,我的return;不管就会结束整个自定义函数,return下面还有没有其他的什么东东,都一律不执行,请问我这样理解对不对?
回复

使用道具 举报

ID:529540 发表于 2020-6-24 17:02 | 显示全部楼层
我的理解和使用是直接结束此函数,返回调用函数处,程序向下执行下一个函数。
回复

使用道具 举报

ID:788943 发表于 2020-6-24 17:36 | 显示全部楼层
直接退出函数了啥
回复

使用道具 举报

ID:790159 发表于 2020-6-26 14:03 | 显示全部楼层
return  就是返回当前正在执行的函数。这个没有其它的理解的。
回复

使用道具 举报

ID:788495 发表于 2020-6-27 09:17 | 显示全部楼层
结束当前执行函数,返回初始状态
回复

使用道具 举报

ID:790644 发表于 2020-6-27 11:54 | 显示全部楼层
意思是结束if语句也可以用return,也可以理解为释放内存空间
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表