在C中循环时切换()

时间:2017-11-29 07:16:44

标签: c while-loop switch-statement

我在循环中使用switch语句尝试输入数据时遇到无限循环....这是代码部分:

do{
   printf("Enter option:\n 1.push\n 2.pop\n 3.Size of Stack\n 
           4.TopElement\n");

  scanf("%d ",&p);

  switch(p){
    case 1:
            while(ch!='n'){
              printf("Enter data\n");
              scanf("%d",&x);
              push(x);
              printf("\nWant to enter more data? y or n ?\n");
              scanf(" %c",&ch);//ch=getchar();
             }
    break;

    case 2: while(ch!='n'){
      pop();
      printf("Wanna pop more ? Enter y or n\n");
      scanf(" %c",&ch);//ch=getchar();
    }
    break;

    case 3:
    Stacksize();
    break;

    case 4: TopElement();
    break;

    default: exit(0);
}
printf("Wanna continue ? Enter choice y or n\n");
scanf(" %c",&choice);

}while(choice!='n');

当我进入' 1'然后它将进入无限循环。我认为应该控制切换和打印"输入数据"但这没有发生..

chchoice的类型为char

0 个答案:

没有答案