这个代码有什么问题?它只打印出用户输入的第一个字母 #包括 #包括 int main() { 字符名称; printf(“你好,你叫什么名字?\n”); char_name=getchar(); printf(“你好%c。很高兴认识你。\n”,字符名称); 返回(退出成功); }

这个代码有什么问题?它只打印出用户输入的第一个字母 #包括 #包括 int main() { 字符名称; printf(“你好,你叫什么名字?\n”); char_name=getchar(); printf(“你好%c。很高兴认识你。\n”,字符名称); 返回(退出成功); },c,C,它不断打印出用户输入的第一个字母。我想让它打印出用户现在输入的整个字符串。get char只获取所提供字符串的第一个字符。您需要创建一个字符数组来保存字符串,并使用fgets来正确设置它 您可以通过执行以下操作来阅读整个名称 #include <stdio.h> #include <stdlib.h> int main() { char char_name; printf("Hello, what is your name? \n "); char_n

它不断打印出用户输入的第一个字母。我想让它打印出用户现在输入的整个字符串。get char只获取所提供字符串的第一个字符。您需要创建一个字符数组来保存字符串,并使用fgets来正确设置它

您可以通过执行以下操作来阅读整个名称

#include <stdio.h>
#include <stdlib.h>
int main()
{
char char_name;
printf("Hello, what is your name? \n ");
char_name = getchar();
printf("Hello %c. Glad to meet you. \n", char_name);
return (EXIT_SUCCESS);
}
#包括
int main()
{
字符名[20];
printf(“输入名称:”);
fgets(名称、名称尺寸、标准尺寸);
printf(“您的名字是%s.”,name);
返回0;
}

因此您需要先读取整个用户输入。使用循环,或者考虑使用<代码> FGETSH()/代码>。“代码> GETCHAR < /代码>的返回值不适合于<代码> char < /代码>变量。如果您想知道为什么<代码> GETCHARE()/<代码>只得到单个字符,那么什么(仍然在阅读文档之后)还不清楚?您告诉它打印用户输入的第一个字母<代码> ScSf()。是一个非常糟糕的选项。@SouravGhosh很好,更新为使用gets。你让它变得更糟了。使用
fegts()
,标准中不再有名为
get()
的函数。
#include <stdio.h>
int main()
{
    char name[20];
    printf("Enter name: ");
    fgets(name, sizeof name, stdin);
    printf("Your name is %s.", name);
    return 0;
}