📅  最后修改于: 2023-12-03 14:59:39.640000             🧑  作者: Mango
在 C 语言中,字符串是字符数组的一种表现形式。字符串以 '\0'(ASCII 码为 0)结尾,被称为 null 字符。C 语言中的字符串必须是以 null 字符结尾的字符数组。
char s[100];
scanf("%s", s);
上述代码可以直接读取字符串,"%s" 表示读取字符串类型的变量。
char s[100];
gets(s);
gets 函数可以读取一行字符串,但是这种方式不安全,可能导致缓冲溢出(buffer overflow)。
char s[100];
fgets(s, 100, stdin);
fgets 函数可以安全地读取一行字符串,然而它会读取换行符 '\n',需要手动去掉。
char s[100];
char c;
int i = 0;
while ((c = getchar()) != '\n') {
s[i++] = c;
}
s[i] = '\0';
getchar 函数每次读取一个字符,直到读取到 '\n' 符号结束,需要手动插入 null 字符。
以上几种方式都可以用来读取字符串,但是需要注意使用的情况。在实际开发中,为了保证代码的安全,建议使用 fgets 函数读取字符串。