单选题
1、〖第14题〗211)fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。
A
字符串读入后不会自动加入'\0'
B
fp是file类型的指针
C
fgets函数将从文件中最多读入n-1个字符
D
fgets函数将从文件中最多读入n个字符
答案解析
正确答案:C
解析:
**解析:**
本题考查 C 语言中 `fgets` 函数的使用细节。
`fgets` 函数的原型为:`char *fgets(char *str, int n, FILE *fp);`
其功能是从文件指针 `fp` 指向的文件中读取字符串并存储到 `str` 指向的内存空间中。具体规则如下:
1. **关于读取字符个数(选项 C、D):**
`fgets` 函数最多读取 **`n-1`** 个字符。这是为了预留一个位置给字符串结束符 `\0`。如果在读取 `n-1` 个字符之前遇到了换行符 `\n` 或文件结束符 `EOF`,则读取停止。因此,**选项 C 正确**,选项 D 错误。
2. **关于字符串结束符(选项 A):**
`fgets` 函数在读取字符串后,**会自动**在末尾添加字符串结束符 `\0`。这是 C 语言字符串处理函数的标准行为,以确保存入 `str` 的是一个合法的 C 风格字符串。因此,选项 A 错误。
3. **关于文件指针类型(选项 B):**
`fp` 是一个指向 `FILE` 结构体的指针,其类型应声明为 `FILE *`,而不是 `file` 类型(C 语言中没有内置的 `file` 关键字或类型,`FILE` 是在 `` 中定义的结构体类型)。因此,选项 B 表述不准确/错误。
**综上所述,正确答案是 C。**
题目纠错
c语言选择判断题库
相关题目
单选题
1、若有说明:int a[10];则对a数组元素的正确引用是()。
单选题
1、以下数据中,不正确的数值或字符常量是()。
单选题
9.以下数组定义中不正确的是()。
单选题
8.设有 int x=11; 则表达式 (x++ * 1/3) 的值是()。
单选题
3.以下数据中,不正确的数值或字符常量是()。
单选题
1、第300题 (1.0分) 题号:516 static char str[10]=“China”;数组元素个数为()。
单选题
1、第299题 (1.0分) 题号:664 以下正确的函数定义形式是()。
单选题
1、第298题 (1.0分) 题号:537 在定义构造数据类型时,不能()。
单选题
1、第297题 (1.0分) 题号:525 C语言中不可以嵌套的是()。
单选题
1、第296题 (1.0分) 题号:626 若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达 式的值为”假”,则以下不能满足要求的表达式是()。
