使用getch()来影响条件

时间:2017-04-05 02:26:57

标签: c if-statement random while-loop getch

我正在尝试使用getch()作为在条件之间切换的方法,这样如果用户输入特定字符,if语句中保持为true的条件将无效,而“else”代码将然后执行。我的代码如下:

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

int main(int argc,char *argv[]){

    int k = 1;
    char k_char = k + '0';
    int r;

    while(1){

        int n = getch();

        if (n == 'a'){
            k = 0;
        }

        if(k == 1){
            r = rand() % 999;
            printf("%d\n", r);
            napms(300);
        }
        else{
            r = rand() % 4;
            printf("%d\n", r);
            napms(300);
        }
    }

    return 0;
}

进入'a'并没有做任何事情......而且我无法弄清楚原因,任何见解都会受到赞赏。

0 个答案:

没有答案