共7条
1/1 1 跳转至页
return的用法
大家都知道,return返回的意思,可以用来返来一个值或表达式,也可以用来结束子函数。但这两天遇到一个问题,在百度上没有找到很好的答案。问题如下,有三个子函数嵌套调用,最里层的子函数有个return语句,本想结束该子函数的执行,但调用调子函数的子函数也跟着结束执行,这是什么原因呢?网上的资料只是说结束子函数,但它到底是要返回哪里去啊,求解。
void cc()
{
if(条件1)
{
return;
}
}
void bb()
{
cc();
dd(); //该函数的定义省略
}
void aa()
{
bb();
}
void main()
{
aa();
}
当函数cc里的"条件1"为真时,return返回,函数cc结束,这很好理解,但函数dd去不执行,问题就在这里,想不明白。
关键词: return
4楼
#include <stdio.h>
void cc(void)
{
printf("function cc is exec\n");
if(1)
{
return;
}
printf("function cc is end\n");
}
void dd(void)
{
printf("function dd is exec\n");
}
void bb(void)
{
cc();
dd();
}
void aa(void)
{
printf("function aa is exec\n");
bb();
if(1)
{
return;
}
}
void main(void)
{
aa();
printf("end function\n");
}
共7条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 一种有效完成脚本程序测试的方法被打赏¥28元 | |
| WorkBuddy搭配SolidCraft给开发板做两件式外壳被打赏¥33元 | |
| 开箱一块k230被打赏¥33元 | |
| 【瑞萨RA8D1测评】RA8D1+lwIP网络验证与TCPOTA的实验记录被打赏¥33元 | |
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
我要赚赏金
