单选题
1、第50题 (1.0分) 题号:211 fgets( )函数从文件中读入一个字符串,以下正确的叙述是()。
A
字符串读入后不会自动加入'\0'
B
fp是file类型的指针
C
fgets函数将从文件中最多读入n-1个字符
D
fgets函数将从文件中最多读入n个字符
答案解析
正确答案:C
解析:
**正确答案:C**
**解析:**
`fgets()` 函数的原型通常为:
```c
char *fgets(char *str, int n, FILE *stream);
```
其功能是从指定的文件流 `stream` 中读取字符串到 `str` 指向的字符数组中。关于该函数的行为,具体分析如下:
1. **关于读取字符的数量(选项 C 和 D):**
`fgets()` 函数最多读取 **n-1** 个字符。这是为了在字符串末尾预留一个位置给空字符 `\0`(字符串结束符)。如果读取过程中遇到了换行符 `\n` 或文件结束符 `EOF`,读取会提前停止。因此,选项 **C 正确**,选项 D 错误。
2. **关于字符串结束符(选项 A):**
`fgets()` 函数在读入字符串后,**会自动**在末尾添加 `\0` 作为字符串的结束标志。这是 C 语言标准库中字符串处理函数的通用规则,以确保存入缓冲区的是一个合法的 C 风格字符串。因此,选项 A 错误。
3. **关于文件指针类型(选项 B):**
在 C 语言中,文件指针的类型是 `FILE *`,而不是 `file` 类型(C 语言关键字区分大小写,且标准库中定义的是大写的 `FILE` 结构体)。此外,题目主要考察 `fgets` 的功能特性,而非指针类型的定义细节,但即便仅看类型描述,"file类型" 这种说法也是不准确的。因此,选项 B 错误。
综上所述,只有选项 C 的叙述是正确的。
题目纠错
c语言选择判断题库
相关题目
单选题
1、第209题 (1.0分) 题号:177 以下描述中,正确的是()。
单选题
1、第208题 (1.0分) 题号:577 在C语言中,int、char和short三种类型数据在内存中所占用的字节数()。
单选题
1、第207题 (1.0分) 题号:201 当定义一个结构体变量时,系统分配给它的内存是()。
单选题
1、第206题 (1.0分) 题号:624 以下关于运算符优先顺序的描述中正确的是()。
单选题
1、第205题 (1.0分) 题号:127 下列程序的输出结果是()。
单选题
1、第204题 (1.0分) 题号:590 若变量a与i已正确定义,且i已正确赋值,合法的语句是()。
单选题
1、第203题 (1.0分) 题号:536 enum a {sum=9,mon=-1,tue}; 定义了()。
单选题
1、第202题 (1.0分) 题号:527 全局变量的定义不可能在()。
单选题
1、第201题 (1.0分) 题号:95 下列变量说明语句中,正确的是()。
单选题
1、第200题 (1.0分) 题号:88 下列字符序列中,可用作C标识符的一组字符序列是()。
