发布网友 发布时间:2022-05-21 09:15
共5个回答
热心网友 时间:2023-10-21 23:24
我感觉错误是在你在error()中调用了menu()方法,这样会构成一个递归。建议的程序结构如下:热心网友 时间:2023-10-21 23:25
嘿嘿, 你不妨在你的程序中调试一下看看, 其实当从error调用menu的时候n好像被前面的东西赋值了吧热心网友 时间:2023-10-21 23:25
很明显是因为你这个error函数中又调用了一次menu()。热心网友 时间:2023-10-21 23:26
把scanf换成getch(),其作用是从键盘读入一个字符(不用按回车),注意要包含头文件<conio.h>热心网友 时间:2023-10-21 23:26
scanf("%d",&n); 后加一个getchar();就可以解决了追问试过,输入2个字符时有用,这样接收了一个字符,但是输入3个字符时,还是会再多循环一次,更不用说输入多个字符了,我是想实现不管乱输入什么都能直接跳到主菜单继续开始追答scanf("%d",&n); 这句改成如下语句:
do
{
int ret= scanf( "%d" , &n );
if ( ret == 1 )
break ;
getchar();
} while ( 1 );