我在循环中使用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'然后它将进入无限循环。我认为应该控制切换和打印"输入数据"但这没有发生..
ch
和choice
的类型为char