我正在为计费系统编写程序。我在我的程序中使用 do-while 循环。并根据用户输入执行程序。如果用户想继续执行,程序将继续执行。但我在执行方面遇到了问题。我在简单的 do-while 循环中尝试我的逻辑。简单的 do-while 循环也会出现同样的问题。
Problem is: If the input is yes, the program does not get the further input from user.
那个简单的 do-while 循环是:
#include <stdio.h>
main()
{
int c;
char ch;
do
{
printf("enter the no less then 4:");
scanf("%d",&c);
switch(c)
{
case 1:
printf("In 1\n");
break;
case 2:
printf("In 2\n");
break;
case 3:
printf("In 3\n");
break;
}
printf("do u want to continue?:");
ch=getchar();
}while(ch=='y');
}
如果我把while(ch != 'n')
而不是while(ch=='y')
程序工作正常。我无法理解这背后的问题。请帮我纠正这个问题。并解释一下这个问题。提前谢谢你。