我是菜鸟,有个函数调用返回的问题想不明白,请教大虾。

piginthetree 2008-11-05 08:51:22
我想用C这样实现一个程序:读取用户输入,不同的输入代表不同的选项,用不同的函数执行,如A1(),A2(),A3();然后在各个函数里面又读取用户输入,调用不同的子函数,其中有个选项是返回上层菜单,即回到选择A1(),A2(),A3()的地方,这个该怎么返回呢,直接再调用A1,A2,A3我觉得不太妥,请问返回的话该用什么语句,或代码实现?先谢过。
...全文
98 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
piginthetree 2008-11-05
  • 打赏
  • 举报
回复
受益匪浅,非常感谢!
zapdos 2008-11-05
  • 打赏
  • 举报
回复
不清楚你想干什么
  • 打赏
  • 举报
回复
函数指针??来学习
beiyang9 2008-11-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 beiyang9 的回复:]
你把外面做成一个loop,如果子函数里面的用户要求返回上层,你就continue,不就又回到入口了么
[/Quote]

漏说了
可以判断子函数的返回值,如果返回值代表返回上层,那就continue
beiyang9 2008-11-05
  • 打赏
  • 举报
回复
你把外面做成一个loop,如果子函数里面的用户要求返回上层,你就continue,不就又回到入口了么
aaajj 2008-11-05
  • 打赏
  • 举报
回复
用switch.. case..去选择

用goto 去返回 (当然,用循环也可以实现)
freshairfly 2008-11-05
  • 打赏
  • 举报
回复
伪码:


int main()
{
bool flag = false;

do
{
flag = false;
int choice = getchar();
switch (choice)
{
case XX:
case xxx:
break;

case YYY: // 比如这里想让用户再次选择
flag = true;
}
}while (flag);

return 0;
}
wyswyg63 2008-11-05
  • 打赏
  • 举报
回复
这样
int flag =0;
while(flag==0)
{
int key;
scanf("%d", &key);
switch(key)
{
case 1:
A1();
break;

case 2:
A2();
break;

case 3:
A3();
break;

case 4:
flag=1;
break;

default:
....
break;
}
}
大体这样,其他的你再添加。子函数里也可以这样写


freshairfly 2008-11-05
  • 打赏
  • 举报
回复
最简单明了的就是goto,不过这种风格不推荐
另一种方法就是在外面放一个循环
qqwx_1986 2008-11-05
  • 打赏
  • 举报
回复
用switch.. case..语句

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧