我想创建几个接口。因此,接口的功能也很少。
我的主要代码如下:
int main (void)
{
int choice;
scanf("%d", &choice);
while(choice != 99)
{
switch(choice)
{
case 1: title1(); break;
case 2 : title2(); break;
default : printf("Error");
}
scanf("%d", &choice); <-- edit
}
return 0;
}
至于其他功能:
void title1(void)
{
int choice;
scanf("%d", &choice);
while(choice != 99)
{
switch(choice)
{
case 1: titleA(); break;
case 2 : titleB(); break;
default : printf("Error");
}
scanf("%d", &choice); <-- edit
}
main();
}
void title2()
{
int choice;
scanf("%d", &choice);
while(choice != 99)
{
switch(choice)
{
case 1: titleC(); break;
case 2 : titleD(); break;
default : printf("Error");
}
scanf("%d", &choice); <-- edit
}
main();
}
该程序的输入示例是:
1 then 99 then 99
但实际情况是:
1 then 99 then 99 then 99
这需要额外99
的退出程序。
如果我这样输入:
1 then 99 then 2 then 99
我需要输入 3 次99
才能退出程序。
有什么问题scanf
?我该如何解决?
解决了 :
我return 0;
将 main() 中的 更改为exit(0);
,它工作正常,但我不确定这样做是否正确。