作为一个菜鸟,我一直在关注哈佛 CS50 课程。有一次它演示了一个 C 程序,该程序让用户输入他们的姓名,然后显示包含此输入的基本问候语。但是,CS50 演示似乎在序言中使用了一个特殊行,它允许在 C 中使用带有“string”和“GetString()”的字符串。
没有这个,我一直在尝试使用 getchar():
#include<stdio.h>
main(int argc, char *argv[])
{
printf("What's your name? ");
char name = getchar();
printf("Hello %c!\n", name);
printf("You're looking cool today.\n");
}
我应该从用户输入的任何内容中取回第一个字符,但是如果我尝试将其延长为带有 char name[] 的整个字符串的 char 数组,我会在编译时收到“不正确的初始化”错误。然而,我在任何地方都看到提到 getchar(),像这样增加数组容量似乎是解决方案。我也在网上看到了 strcpy 的使用,但我一直无法完成这项工作。
我是否忽略了一些非常简单的事情?对此有任何见解,谢谢。