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