C:命令提示符中的char用户输入

时间:2014-02-17 00:49:29

标签: c

我在使用C读取字符时遇到问题。我需要询问用户输入,直到用户给我'x'或'X'停止。

char input[size] = {};

printf("Type 'x' or 'X' to stop input mode.\n");
while(strcmp(input,"x")!=0||strcmp(input,"X")!=0){
    printf(":");
scanf("\n%c", &input);
}

但它仍然无效。

3 个答案:

答案 0 :(得分:1)

根据评论进行编辑。

char input = getchar();
while( input != 'x' && input != 'X' ) {
    // your code
    input = getchar();
}

答案 1 :(得分:1)

input变量在没有方括号的情况下使用时已经是指针,您不需要使用&

在进入while循环之前,必须初始化input

答案 2 :(得分:0)

#include <stdio.h>
#include <ctype.h>
#include <string.h>

#ifdef CHAR_BASE

int main(){
    char input = 0;
    printf("Type 'x' or 'X' to stop input mode.\n");
    while(tolower(input) != 'x'){
        printf(":");
        scanf(" %c", &input);
    }
    return 0;
}
#else //STRING_BASE

int main(){
    char input[16] = {0};

    printf("Type 'x' or 'X' to stop input mode.\n");
    while(strcmp(input,"x") && strcmp(input,"X")){
        printf(":");
        scanf("%s", input);
    }
    return 0;
}
#endif