gpt4 book ai didi

c - 是否建议将用户从另一个功能路由到主功能?

转载 作者:行者123 更新时间:2023-11-30 17:02:15 24 4
gpt4 key购买 nike

我是编码新手,听说调用 main 函数是不好的做法,但是除了我在这段代码中所做的方式之外,我没有看到其他方法可以在菜单中来回导航。我在这里所做的是“调用” main 函数吗?这合法吗?

非常感谢。

#include <stdio.h>

void MAINmenu();
void menu1();
void menu2();
int m;

int main()
{
MAINmenu();
}
void MAINmenu()
{
printf("MAIN MENU\tplease choose menu 1, menu 2, or 3 to quit\n");
scanf("%d",&m);
do
{
switch(m)
{
case 1:
menu1();
break;
case 2:
menu2();
break;
case 3:
printf("GOODBYE");
break;
default:
printf("ERROR.\n");
main();
break;
}
}while(m!=3);
}
void menu1()
{
printf("MENU 1.\n");
printf("would you like to continue here(1) or go back to main(2)?\n");
scanf("%d",&m);
switch(m)
{
case 1:
menu1();
break;
case 2:
main();
break;
default:
printf("ERROR.\n");
menu1();
break;
}
}
void menu2()
{
printf("MENU 2.\n");
printf("would you like to continue here(1) or go back to main(2)?\n");
scanf("%d",&m);
switch(m)
{
case 1:
menu2();
break;
case 2:
main();
break;
default:
printf("ERROR.\n");
menu2();
break;
}
}

最佳答案

您还可以这样做:

int main()
{
while (MAINmenu());
return 0;
}
int MAINmenu()
{
printf("MAIN MENU\tplease choose menu 1, menu 2, or 3 to quit\n");
scanf("%d",&m);
do
{
switch(m)
{
case 1:
menu1();
break;
case 2:
menu2();
break;
case 3:
printf("GOODBYE");
break;
default:
printf("ERROR.\n");
return 1;
}
}while(m!=3);
return 0;
}
...

但是调用 main() 也可以。

关于c - 是否建议将用户从另一个功能路由到主功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36634594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com