在C语言中,scanf函数用于从标准输入流(键盘)读取数据。当使用scanf函数读取字符串时,会根据输入的格式字符串进行解析,并将字符串存储到指定的内存位置。scanf函数会自动在读取的字符串末尾添加一个空字符(‘\0’)作为字符串的结束符。
例如,以下代码片段演示了如何使用scanf函数读取字符串:
#include <stdio.h>
int main() {
char str[20];
printf("请输入一个字符串:");
scanf("%s", str);
printf("你输入的字符串是:%s\n", str);
return 0;
}
在这个例子中,如果你输入"Hello",那么存储在str
中的字符串会是"Hello\0",即以空字符结尾。这是因为scanf函数会自动在字符串的末尾添加空字符。
需要注意的是,scanf函数对于空格或者特殊字符(ENTER)会停止读取,并将其前面的字符作为字符串存储。因此,如果需要读取含有空格的字符串,可以使用fgets函数或者自定义输入方法来实现。