我编写了一个小型 C 程序,我想在其中显示与某些按键对应的数字 ASCII 值。
我的代码如下。问题是,运行程序后,它接受输入,但不做任何其他事情。它甚至没有到达第一个 printf 语句。我无法弄清楚问题是什么 -在同一个程序中将 getchar() 函数与 printf() 函数混合是否有问题?
#include <stdio.h>
int main() {
const int numKeys = 256;
int keys[numKeys];
int i;
for (i = 0; i < numKeys; i++) {
keys[i] = 0;
}
printf("\n Start pressing some keys!\n\n");
int c;
while ((c = getchar()) != EOF) {
printf(" CAPTURED: %d\n", c);
keys[c]++;
}
printf("\n\n ** RESULTS ** \n\n");
for (i = 0; i < numKeys; i++) {
if (keys[i] != 0) {
printf(" Key with value %d was called %d times.", i, keys[i]);
}
}
}
我应该澄清一下,我有一台安装了 Cygwin 的 Windows XP Pro 机器。我使用 Cygwin 作为我的开发空间,所以我想知道在那个环境中运行这种类型的程序时是否有什么不同。