永发信息网

C语言中怎样从被调函数中返回到调用函数

答案:6  悬赏:50  手机版
解决时间 2021-01-27 00:36
  • 提问者网友:凉末
  • 2021-01-26 11:27
void a()
{
……
}
void b()
{
a();
}

void c()
{
a();
}
如果想从a返回到调用它的函数(不知道是b还是c),怎样才能做到
最佳答案
  • 五星知识达人网友:掌灯师
  • 2021-01-26 11:40
1、return后接一个值,就可以实现返回。在调用这个函数的函数里面,调用它的时候希望获得一个值,如果不希望获得这个值的时候,用void声明就好。
2、例如:
int func()
在调用它的比如main里面
func()的作用就可以相当于一个int型常数
比如外面定义了
int max(int a,int b)
{
return a>b?a:b;
}
主函数里面是
main()
{
int A;
A=max(1,2);
}
这时候就是通过max计算 1>2 则return 一个1 ,1<2 则return一个2。很明显1<2 所以这里max(1,2)就会return 一个 2
这时候主函数里的max(1,2)就相当于一个常数 2
A=max(1,2)的作用就相当于A=2
这个意思。
全部回答
  • 1楼网友:人類模型
  • 2021-01-26 15:59
在外面的函数中,函数与函数之间是没关系的。只有在mainm函数中才能进行调用
  • 2楼网友:孤独的牧羊人
  • 2021-01-26 14:51
返回值为 void 的函数返回有两种方式 : 1. return 2. 执行完函数块(到达下一个大括号) 。。。 其他类型的函数返回有一种 : return + 与返回类型相对应的常量或变量。 程序按顺序执行不可能同时被 a b 调用。
  • 3楼网友:怙棘
  • 2021-01-26 14:31
看看下面这个也许有帮助 #include void a(); void b(); void c(); void main(void) { printf("*********调用a函数*********\n"); a(); printf("*********调用b函数*********\n"); b(); printf("*********调用c函数*********\n"); c(); } void a() { printf("现在执行的是a 函数\n"); printf("a函数执行完成\n"); } void b() { printf("现在执行的是b 函数\n"); printf("我要在b函数中执行一次c\n"); c(); printf("执行完c他会返回b\n"); printf("B函数执行完成\n"); } void c() { printf("现在执行的是c 函数\n"); printf("我又在C函数中执行一次a\n"); a(); printf("执行完a他返回了c\n"); printf("C函数执行完成\n"); } 如果半路想返回只能用return,但是没有返回值不能确定是从哪一步返回的, 如果定义的是int a(),可以返回一个整型数值,用来检查是从哪一步返回的, 不过看你的意思不是想返回什么,面是想调用才是,当我使用a函数的时候,他只能返回他的父函数,不可能跨越自已的父函数返回的,也许是我见识太浅了,这个真没听说过
  • 4楼网友:洎扰庸人
  • 2021-01-26 13:25
void a() { …… switch(a) { case 1: { printf("返回上一步"); ?//怎样回去 //这里加一个return } case 2: { ……………… } default: { printf("输入错误,重新输入"); a(); } } } C基生物写的那个函数可以借用一下,能知道执行的是哪个函数。
  • 5楼网友:由着我着迷
  • 2021-01-26 11:48
a返回到调用它的函数,既然a都返回了,那就是a结束了啊,a结束了,自然就返回到你调用a的那个位置了。 还是说你想在a中调用b或者调用c?劝你不要这样做,很容易造成死循环。 要结束这个switch,就用break; 要结束这个函数,就用 return; 要结束这个程序,就用exit(0);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯