AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第111题 (1.0分) 题号:727 以下read函数的调用形式中,参数类型正确的是()。

A
 read(int fd,char *buf,int count)
B
 read(int *buf,int fd,int count)
C
 read(int fd,int count,char *buf)
D
 read(int count,char *buf,int fd)

答案解析

正确答案:A

解析:

**解析:** 在 Linux/Unix 系统编程中,`read` 函数用于从文件描述符读取数据。其标准函数原型定义在 `` 头文件中,形式如下: ```c ssize_t read(int fd, void *buf, size_t count); ``` 各参数的含义及类型要求如下: 1. **`fd` (file descriptor)**:第一个参数,类型为 `int`,表示要读取的文件描述符。 2. **`buf` (buffer)**:第二个参数,类型为 `void *`(在实际调用中常传入 `char *` 或具体类型的指针),指向存放读取数据的缓冲区。 3. **`count`**:第三个参数,类型为 `size_t`(无符号整型),表示希望读取的最大字节数。 **选项分析:** * **A. `read(int fd, char *buf, int count)`**:参数顺序为“文件描述符、缓冲区指针、计数”,符合标准原型的逻辑顺序。虽然标准原型中 `buf` 是 `void *`,`count` 是 `size_t`,但在 C 语言中 `char *` 可以隐式转换为 `void *`,且 `int` 在此处作为计数值的类型在概念上是匹配的(尽管严格来说应使用 `size_t`,但在考察参数顺序和基本类型的题目中,这是唯一正确的选项)。 * **B. `read(int *buf, int fd, int count)`**:第一个参数应为文件描述符 `int`,而非指针;第二个参数应为缓冲区指针,而非文件描述符。顺序错误。 * **C. `read(int fd, int count, char *buf)`**:第二个和第三个参数位置颠倒。应该是先指定缓冲区,再指定长度。 * **D. `read(int count, char *buf, int fd)`**:三个参数的位置完全混乱。 因此,只有选项 A 的参数顺序和类型对应关系是正确的。 **正确答案:A**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码