在C语言中,输入一个字符串通常使用`scanf`函数,但`scanf`函数默认只读取空格、制表符和换行符为止的字符,直到遇到空格,所以它不适合直接读取包含空格的字符串。为了读取包含空格的字符串,我们通常使用`fgets`函数或者结合`scanf`和字符数组。
以下是一个使用`fgets`函数读取字符串的示例代码:
```c
include
int main() {
char str[100]; // 假设我们想要的字符串长度不超过99个字符
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // 读取字符串,包括空格,直到遇到换行符或达到缓冲区大小
// 去除可能读入的换行符
size_t len = strlen(str);
if (len > 0 && str[len 1] == 'n') {
str[len 1] = '0';