C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,
汇编语言可以用jmp指令跳转实现这个需求。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然
goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由
返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。
因此建议你的这个问题还是用C++ 的异常去解决比较好。