C - 按Enter继续?

时间:2016-10-30 01:49:10

标签: c

void clrKyb(void)
{
    char c[30];

    scanf("%s",c);

    for(int i = 0; i < 30; i++){
        if(c[i] == '\n'){
            i = 30;
        }
    }
}

void pauses(void)
{
    printf("Press <ENTER> to continue:");
    clrKyb();
}

你好,我被困在我的“暂停”功能上了。按ENTER继续不起作用?

1 个答案:

答案 0 :(得分:3)

只需使用getchar(),它将返回从stdin读取的第一个字符,并等待直到ENTER。

#include <stdio.h>
void clrKyb(void) {
    while ((c = getchar()) != '\n' && c != EOF) {};
}
void pause(void) {
    printf("Press <ENTER> to continue.");
    clrKyb();
}

我觉得这是家庭作业。请下次告诉我们,以便我们提供指导而不是答案。