在C语言中,接收字符串通常使用scanf()
函数或者fgets()
函数。这里有两种方法可以接收字符串:
scanf()
函数:#include<stdio.h>
int main() {
char str[100]; // 定义一个字符数组,用于存储输入的字符串
printf("请输入一个字符串:");
scanf("%s", str); // 使用scanf()函数接收字符串,但是它只能读取到空格之前的内容
printf("你输入的字符串是:%s\n", str);
return 0;
}
注意:scanf()
函数在读取字符串时,会在遇到空格、制表符或换行符时停止读取。如果需要读取包含空格的整行字符串,建议使用fgets()
函数。
fgets()
函数:#include<stdio.h>
int main() {
char str[100]; // 定义一个字符数组,用于存储输入的字符串
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets()函数接收字符串,它可以读取整行内容,包括空格
printf("你输入的字符串是:%s\n", str);
return 0;
}
fgets()
函数会在遇到换行符时停止读取,因此它可以读取包含空格的整行字符串。注意,fgets()
函数会将换行符也存储到字符数组中,所以在输出字符串时,换行符也会被输出。如果不想输出换行符,可以在输出前将其替换为字符串结束符\0
。