按C键退出时C程序终止

时间:2018-07-17 14:58:16

标签: c loops for-loop while-loop terminate

我是C语言的初学者。我在Windows上的Code :: Blocks中编写了一个C程序,它将使用ID <- c("A", "A", "A", "B", "B", "c", "c") Value <- c("blue", "blue", "green", "red", "orange", NA, "yellow") df <- tibble(ID, Value) 输入并将其打印在下一行。我想运行循环,直到我按Escape键,但是我不能这样做。我的代码是:

int

循环正在工作。我输入一个整数,并将其打印在下一行。但这并不能通过按退出键来终止。当我按Escape键时,什么都没有。我想运行该程序,直到我按Escape键,同时仍然接受用户的#include <stdio.h> #include <conio.h> int main(void) { int k; do { scanf("%d",&k); printf("%d\n", k); // print value } while (k != 27); // end when Esc pressed return 0; } 型输入。如何在按Escape键时终止程序?

1 个答案:

答案 0 :(得分:0)

检出功能kbhit();getch();

可能的解决方案是:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(){

char ch;
int k;
while (1) {

    if (kbhit) {

        scanf("%d",&k);
        printf("%d\n", k); 

        // Stores the pressed key in ch
        ch = getch();

        // Terminates the loop
        // when escape is pressed
        if (int(ch) == 27)
            break;

    }
}