如果函数在正常结束后返回主函数,则不用额外添加任何语扮穗句,到函数结束后自动返回主函数;
创新互联,专注为中小企业提供官网建设、营销型网站制作、响应式网站开发、展示型做网站、成都网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。
如果是在函数中间某个分支处需要直接退出函数返回到主函数,则可以添加return;语句行,程序执行到这锋缺码一语句后,就会立即返回到主函数。当然也可以通银哪过让分支跳转到函数末尾的地方来返回主函数。
直接跳回一岩悉扒个地方 C用setjmp, longjmp C++则用try catch throw的异常处理机制 return则返回调用的函数举一个C++的例粗昌陆汪子,函数从funcB直接返回了主函数main: int funcA() { int a; funcB(); //之后的语句都不会执行 a = 1; a *= 2; return a; } void funcB() { throw int(0); } int main() { int r = 0; try { r = funcA(); } catch (...) { // 该程序直接跳到这里 // r仍然等于0 } return 0; }
C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。掘运虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特茄物殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊判纳梁值和函数正常的返回的取值不会冲突,不会引起二义性。
因此建议你的这个问题还是用C++ 的异常去解决比较好。
文章标题:c语言中返回主函数 c语言 函数返回
文章网址:https://www.cdcxhl.com/article10/ddpshgo.html
成都网站建设公司_创新互联,为您提供网站策划、服务器托管、标签优化、网站设计、微信小程序、App开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联