|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想实现一个菜单功能,用的是do..while..,在default的时候,想要打印输入错误,并且再次打印菜单,让用户再次做选择。
代码如下
- int main(){
- int option;
- do{
- printf("1) \n2)\n3) \n4) \n5) \n6) Quit\nOption: ");
- scanf("%d", &option);
-
- switch(option){
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- option = 0;
- break;
- default:
- printf("error!\n");
- break;
- }
- }while(option);
- }
复制代码
但是现在出现一些问题,就是在输入错误的数字的时候,这个代码能够实现我需要的功能, 但是在输入的是字母的时候,它就会疯狂循环。
我尝试过把option在这里强制赋值为其它数字,但是也会出现这种情况。
我感觉应该是我的数据类型的问题,但是不知道怎么修正。请大佬帮帮忙!
给大家鱼币球球!
- #include <stdio.h>
- int main(){
- int option;
- do{
- printf("1) \n2)\n3) \n4) \n5) \n6) Quit\nOption: ");
- scanf("%c",&option);getchar();
-
- switch(option){
- case '1':
- break;
- case '2':
- break;
- case '3':
- break;
- case '4':
- break;
- case '5':
- break;
- case '6':
- option = 0;
- break;
- default:
- printf("error!\n");
- break;
- }
- }while(option);
- }
复制代码
|
|