标题:【求助】关于switch的问题!
取消只看楼主
OneMan
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-12-5
结帖率:100%
 问题点数:0 回复次数:3 
【求助】关于switch的问题!
#include<stdio.h>
void main()
{
  int choice;
head:
  printf("\t\t+---------------------+-------------------------+\n");
  printf("\t\t|     (1)苹果         |     (2)西瓜             |\n");
  printf("\t\t+---------------------+-------------------------|\n");
  printf("\t\t|     (3)exit();      |                         |\n");
  printf("\t\t+---------------------+-------------------------+\n");
 again:
  printf("input your choice:");
  scanf("%d",&choice);
  switch(choice){
  
  case 1:printf("你选的是苹果\n");goto head;break;
  case 2:printf("你选的是西瓜\n");goto head;break;
  case 3:exit(0);
  default:printf("你输入有误,请重试:\n");goto again;break;
   }
}

这里有个问题,就是我输入数字键不是1,2,3时会提示出错,并且重试,goto到again,可是为什么我输入不是数字,而是字符键程序会进入死循环,这是为什么???
搜索更多相关主题的帖子: switch 
2008-12-06 19:41
OneMan
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-12-5
得分:0 
还是不懂,程序不是已经运行到default那里了嘛,应该是其他数字一样的,为什么它就会无限输入input your choice(无限滚屏)而不让我输入呢?
2008-12-06 19:50
OneMan
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-12-5
得分:0 
恩,谢谢楼上的解答,在下理解了,非常非常感谢!!
2008-12-06 23:45
OneMan
Rank: 1
等 级:新手上路
帖 子:64
专家分:0
注 册:2008-12-5
得分:0 
非常感谢大家的讲解,谢谢!!
2008-12-07 15:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-248058-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.206267 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved