标题: 请C语言高人指点一下,这里if语句里面return;怎么理解? [打印本页]

作者: fengshiwuji    时间: 2020-6-22 19:56
标题: 请C语言高人指点一下,这里if语句里面return;怎么理解?
请高人指点一下,这里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;
}
}



作者: xianfajushi    时间: 2020-6-23 08:15
结束函数处理
作者: ktcl7777    时间: 2020-6-23 21:01
这是代码优化 条件触发了 直接返回 提高执行效率
作者: man1234567    时间: 2020-6-24 10:02
说人话:如果那样就不玩了
作者: W1715967210    时间: 2020-6-24 11:34
结束if语句也可以用return,在这里和beak差不多的功能,也可以理解为释放内存空间
作者: fengshiwuji    时间: 2020-6-24 12:42
W1715967210 发表于 2020-6-24 11:34
结束if语句也可以用return,在这里和beak差不多的功能,也可以理解为释放内存空间

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

作者: fengshiwuji    时间: 2020-6-24 12:43
man1234567 发表于 2020-6-24 10:02
说人话:如果那样就不玩了

那属实任性
作者: fengshiwuji    时间: 2020-6-24 12:49
xianfajushi 发表于 2020-6-23 08:15
结束函数处理

return;是在if语句里边,外面又有一个switch语句,再往外是自定义函数,return;它结束函数,而非结束语句,就是说只要条件满足,我的return;不管就会结束整个自定义函数,return下面还有没有其他的什么东东,都一律不执行,请问我这样理解对不对?
作者: ccdmcu    时间: 2020-6-24 17:02
我的理解和使用是直接结束此函数,返回调用函数处,程序向下执行下一个函数。
作者: dmwang1982    时间: 2020-6-24 17:36
直接退出函数了啥
作者: cdlongbo    时间: 2020-6-26 14:03
return  就是返回当前正在执行的函数。这个没有其它的理解的。
作者: 2043383875arche    时间: 2020-6-27 09:17
结束当前执行函数,返回初始状态
作者: 小刘同学home    时间: 2020-6-27 11:54
意思是结束if语句也可以用return,也可以理解为释放内存空间




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1