用户使用 getchar() 输入名称,然后显示名称。 (c代码)

user input of name using getchar() then diplaying the name. (c code)

提示我编码的内容:

Prompt the user to enter his/her name using getchar() function then print the entered name on the screen.

我编码的内容:

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

int main() {
    int c;                
    int i;
    char arr[20]={0};
    c = getchar();
    i = 0;
    for(i;i<20;i++)
    {
        arr[i]=c;
        c=getchar();
    }
   
    for (int j=0;j<20;j++)
    {
        printf("%s",arr[j]);
    }
}

我的结果根本不工作,而且有各种各样的问题。例如,如果用户已经输入全名,我不知道如何停止循环。相反,我必须一直按 Enter 直到 EOF。另一个问题是名称不再打印在屏幕上。我相信我的想法的基础对于这段代码是错误的。谁能指出我正确的方向?

试试这个:

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

int main()
{
    int i;
    char arr[21], c;
    for(i = 0; (c = getchar()) != '\n' && c != EOF && i < 20; i++)
    {
        arr[i] = c;
    }
    arr[i] = '[=10=]';

    printf("\n%s", arr);
}

运行,输入您的词组并按回车键