gpt4 book ai didi

c - 如何区分 C 中的第一次按键和后续按键

转载 作者:行者123 更新时间:2023-11-30 19:41:33 25 4
gpt4 key购买 nike

我正在编写一个简单的程序,只需按一下按键即可开始运行。

它会首先打印一条消息,然后提示用户按某个键来启动该过程。

第一次按键可以是任意键(包括ESC),并提示程序循环一次。然后它会提示用户按另一个键。如果按下 ESC,则程序退出。否则程序将继续循环。

用 C 语言实现此目的最简单的方法是什么?到目前为止,我只能让程序在按下 ESC 时退出,无论是否是第一个提示。

这是我到目前为止的一般结构,如果我的格式很糟糕,抱歉:

while(1)
{
if(kbhit())
{
do
{
//bunch of code//
iKeyPress = getch();
} while (iKeyPress != 27);
}
}

无论我按什么键,新的迭代似乎都没有结束。

最佳答案

试试这个:

{
getchar(); //first input
char ch;
do { // will work first time irrespective of what you press
/*
* rest of code
*/
ch = getch();

} while (ch != 27);

return 0;
}

编辑:您的代码似乎不起作用,因为您有 2 个循环,外部循环始终为 true,因此如果您设法退出内部循环,外部循环将再次迭代。

如果外循环很重要,只需使用:

While(1)
{
if(kbhit())
{
do {
//bunch of code//
iKeyPress = getch();
} while (iKeyPress != 27);

if(ikeyPress == 27 ) return 1; //

//rest of code
}
}

关于c - 如何区分 C 中的第一次按键和后续按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33448212/

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