【发布时间】:2014-12-17 23:51:48
【问题描述】:
我有一个 C 程序,通过接受输入选择来模拟用户和程序之间的 ATM 交互,然后产生输出。
用户必须输入值 1111,交易才能继续,如果不是这样,程序会打印出错误并不断要求用户输入正确的密码,直到程序读入 1111。
我尝试使用 while 循环来不断请求正确的值 1111,并且在输入之前,程序一直要求用户输入正确的 pin。
void main() {
int pin;
printf("Please enter the default pin: ");
while ( pin != 1111 )
{
printf("Invalid input ");
printf("Please enter the default pin again: ");
scanf("%d", &pin);
if (pin == 1111)
{
//The program continues
}
}
}
每次我输入错误的密码时,它都会再次要求输入密码,然后由于程序停止工作的错误而崩溃。我想我造成了一个无限循环,但我不太确定发生了什么。
【问题讨论】:
-
您将
pin初始化为一个合适的值,然后直接转到while !good value,它根本不会循环。因此,要么您没有发布正确的代码,要么您没有看到任何密码提示。
标签: c input while-loop