【发布时间】:2018-11-09 14:20:11
【问题描述】:
为什么我只按一个字母键(例如,a)时会得到两次迭代?
#include<stdio.h>
void main()
{
char c;
do
{
c = getch();
printf("Your input: %c\nPress x to exit.\n\n", c);
} while (c != 'x');
}
【问题讨论】:
-
再数一遍。你在键盘上按了多少键?
-
@WhozCraig:我想我只按一次!
-
真的吗?之后你没有打
Enter? -
getch()不是 C 标准库的一部分;改用getchar();这不会改变你程序的行为,但未来你会非常感谢现在的你;而且,关于也按[ENTER]的 cmets 和答案将是有意义的 -
@WhozCraig 在全新的 MS DOS 程序中使用
getch的全部原因是跳过输入。
标签: c