【发布时间】:2017-03-26 01:49:15
【问题描述】:
我有以下 for 循环,提示用户输入 4 位密码并按 Enter。有人可以向我解释一下 while 循环到底在做什么,因为我不完全理解它。
//user input for pin
for(i = 0; i < PIN_LENGTH; i++)
{
printf("Enter digit %d of your PIN: ", i);
user_pin[i] = getchar();
while (getchar() != '\n'); //what is this line doing??
}
【问题讨论】:
-
它非常糟糕——如果
getchar()得到EOF会发生什么? -
@DavidSchwartz 我是 C 新手,我不知道。它有什么作用?
-
由于未定义的行为而崩溃是我的第一个猜测
-
它永远循环,因为
EOF != '\n',永远不会。
标签: c for-loop while-loop getchar