gpt4 book ai didi

c - 在同一个 C 程序中同时使用 putchar 和 printf ?

转载 作者:行者123 更新时间:2023-11-30 17:53:32 25 4
gpt4 key购买 nike

我编写了一个小型 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]);
}
}
}

我应该澄清一下,我有一台 Windows XP Pro 计算机,安装了 Cygwin。我的开发空间使用Cygwin,所以我想知道在该环境中运行此类程序时是否有什么不同。

最佳答案

我发现了问题。我想你想使用

while ((c = getchar()) != EOF && c != '\n')

相反,如果您想让它在用户按下 Enter/Return 后打印结果。

关于c - 在同一个 C 程序中同时使用 putchar 和 printf ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15516094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com