C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。这句话对不对呢?为什么

有没有人在啊,想请问下,C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。这句话对不对呢?为什么
最新回答
一枕庭前雪

2024-05-03 01:20:07

不对。gets() 函数可以读取一整行字符串,而不是一个字符。gets() 函数的作用是从标准输入流 stdin 中读取一行字符,并将其储存在指定的字符串数组中。

例如下面的代码:

```
char str[100];
gets(str);
```

这会将输入的一整行字符读取到 str 数组中。因此,gets() 函数可以读取多个字符,而不是仅限于一个字符。需要注意的是,由于 gets() 函数没有提供输入长度上限检查,因此容易引发缓冲区溢出等安全问题,因此最好使用更安全的函数,例如 fgets() 函数。
温情绝傲

2024-05-03 03:23:38

这句话是不正确的。在C语言标准输入操作中,gets()函数是一次可以读取多个字符的函数,而不是一次只能读取一个字符。gets()函数是用于从标准输入流(stdin)中读取字符串的函数,它会一直读取字符,直到遇到换行符为止。所以,gets()函数可以读取多个字符,而不是只能读取一个字符。如果需要读取一个字符,可以使用getchar()函数来实现。