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

1、第145题 (1.0分) 题号:713 在说明语句:int *f();中,标识符f代表的是()。

A
 一个用于指向整型数据的指针变量
B
 一个用于指向一维数组的行指针
C
 一个用于指向函数的指针变量
D
 一个返回值为指针型的函数名

答案解析

正确答案:D

解析:

这道题考查的是 C 语言中**函数指针**与**返回指针的函数**在声明语法上的区别。我们需要通过运算符优先级来解析 `int *f();` 这个声明。 ### 1. 语法解析 在 C 语言的声明中,运算符的优先级决定了标识符的含义: * `()`(函数调用运算符)的优先级 **高于** `*`(指针运算符)。 * 因此,在语句 `int *f();` 中,`f` 首先与后面的 `()` 结合。 * `f()` 表示 `f` 是一个**函数**。 * 接下来,`*` 作用于 `f()` 的结果。 * `*f()` 表示该函数的返回值是一个**指针**。 * 最后,`int` 修饰这个指针。 * `int *` 表示该指针指向的数据类型是 **整型(int)**。 综上所述,`int *f();` 声明了一个名为 `f` 的函数,该函数没有参数(或参数未指定),且返回值是一个指向整型数据的指针。 ### 2. 选项分析 * **A. 一个用于指向整型数据的指针变量** * 如果是定义指向整型的指针变量,语法应为 `int *f;` 或 `int* f;`。这里多了 `()`,所以错误。 * **B. 一个用于指向一维数组的行指针** * 指向数组的指针通常涉及数组维度,如 `int (*p)[N];`,与本题语法不符,所以错误。 * **C. 一个用于指向函数的指针变量** * 如果是定义指向函数的指针,必须使用括号改变优先级,语法应为 `int (*f)();`。这意味着 `f` 先与 `*` 结合成为指针,再指向一个函数。本题中没有括号,所以错误。 * **D. 一个返回值为指针型的函数名** * 根据上述解析,`f` 是函数名,其返回值类型为 `int *`(整型指针),符合题意。 ### 3. 结论 标识符 `f` 代表的是一个**返回值为指针型的函数名**。 故正确答案为:**D**
题目纠错
c语言选择判断题库

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

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