要知道 C语言是由MAIN函数开始也由它结束。
创新互联建站主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务临澧,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
每调用一次分函数,只要运行完毕后就会回到调用分函数的地方继续往后执行。
C语言主要靠函数调用和return在函数之间切换,很难做到在多层调用中直接返回主函数。虽然goto语句可以无条件跳转,但是必须在同一个函数中使用。
因此解决的方法也是用一个特殊的值作为需要返回的标志,然后在两层调用函数中都遇到该值就返回,但是这个方法也有两个前提:
1)你的两个子函数都是由返回值的函数
2)你选择的特殊值和函数正常的返回的取值不会冲突,不会引起二义性。
同样的操作,C++可以通过异常处理的throw和catch来实现从子函数的子函数直接返回主函数,汇编语言可以用jmp指令跳转实现这个需求。因此建议你的这个问题还是用C++ 的异常去解决比较好。
如果是用纯C语言来写,把所有函数声明放在最前面,然后函数定义好,这样的函数是公有的,可以随意调用。然后主函数不能少,这样子的话,所有函数包括主函数的前后顺序可随意。
void fun1();
void fun2();
//...
int main()
{
return 0;
}
void fun1()
{
//code...
}
void fun2()
{
//code...
}
//...
一个函数只能有一个返回值,指针可以返回多个,例如:
void aaa()
{
int *a,*c;
int a,c;
*a=a;*c=c;
a=b();c=b();
}
下面调用 *a和*c.
扩展资料:
在C语言中,指针的使用非常广泛,因为使用指针往往可以生成更高效、更紧凑的代码。总的来说,使用指针有如下好处:
1、指针的使用使得不同区域的代码可以轻易的共享内存数据,这样可以使程序更为快速高效;
2、C语言中一些复杂的数据结构往往需要使用指针来构建,如链表、二叉树等;
3、C语言是传值调用,而有些操作传值调用是无法完成的,如通过被调函数修改调用函数的对象,但是这种操作可以由指针来完成,而且并不违背传值调用。
参考资料来源:百度百科-指针 (编程语言中的一个对象)