c语言返回主函数怎么表示 c语言返回指令

c语言返回main函数直接跳回一个地方 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语言怎么从子函数的子函数直接返回主函数C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求 。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数 。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用 。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性 。
因此建议你的这个问题还是用C++ 的异常去解决比较好 。
C语言中return怎么用,主函数中一定要用吗?returnc语言返回主函数怎么表示,从函数调用执行中返回 , 可以分两种情况:
1、void型
例如:
void f2()
{
int i=1;
//return;//这样也可以,不要这一句也可以
}
2、非void型
例如:
int f1()
{
int i=1;
return 1;
//return(i); //这样也可以
}
有时即使被调用函数是void类型 被调函数中的return也不是毫无意义的;对于void , 在函数的最后一行代码,可以不用;其他地方,因为你要返回函数调用,所以必须要用 。
对于非void,既然函数返回值类型定义为非void,那么肯定需要使用这个函数的返回值 。比如返回值是函数运行结果,或者表明函数运行结果是成功还是失败 。这种情况,即使是函数最后一行 , 也需要使用 。
对于有些情况,没有return,编译器也不会报错,比如main函数(编译器会默认返回值为0,假设你的main函数返回值是int) 。但是为了保持良好的习惯,还是建议使用 。
比如你写的程序编译后需要在脚本中调用,c语言返回主函数怎么表示我们可以通过检查你的程序的结束代码来判断你的程序的执行情况,成功或是失败 。这时候的检查就依赖于你是否在main函数中正确使用了return 。
扩展资料:
举例:
#include "stdio.h"
void function()
{printf("111111");
return;
printf("222222");
}
main()
{
function();
}
运行结果为:屏幕上只输出一串数字1 而没有2 。但是如果去掉function函数中的return语句 就可以同时输出一串数字2 。这里的return其实还有个退出该程序的作用!也就是说在printf("111111");后面加了个return,就表示结束该函数,返回主函数中去了!
参考资料
百度百科_return(C语言语句)
c语言 让函数返回到上一级 和 直接返回到主函数 分别应该用什么语句?函数返回上一级使用return语句就行了 。
c标准库里有一套函数:setjmp/longjmp,程序员可以在任意位置调用setjmp保存现?。缓笤谌我饬硗馕恢玫饔胠ongjmp跳到那个保存的现场 。这样就可以满足直接调回主函数的需求,但这套函数保存现场并不充分,而且打破正常流程控制 , 很不稳定,一般来所不推荐使用 。
【c语言返回主函数怎么表示 c语言返回指令】c语言返回主函数怎么表示的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言返回指令、c语言返回主函数怎么表示的信息别忘了在本站进行查找喔 。

    推荐阅读