使用getchar循环用户输入

mys*_*ver 3 c user-interface loops getchar

我编写了一个小脚本,用getchar()C中的函数检测用户输入的完整值.getchar()只返回我尝试循环的第一个字符...我自己尝试的代码是:

#include <stdio.h>

int main()
{
    char a = getchar();
    int b = strlen(a);

    for(i=0; i<b; i++) {
        printf("%c", a[i]);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码并没有给我完整的用户输入值.

vin*_*wsm 5

你可以这样做循环部分

int c;
while((c = getchar()) != '\n' && c != EOF)
{
    printf("%c", c);
}
Run Code Online (Sandbox Code Playgroud)

  • 显示`c`必须是`int`会更好. (3认同)