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

1、第11题 (1.0分) 题号:658 若使用一维数组名作函数实参,则以下正确的说法是()。

A
 必须在主调函数中说明此数组的大小
B
 实参数组类型与形参数组类型可以不匹配
C
 在被调用函数中,不需要考虑形参数组的大小
D
 实参数组名与形参数组名必须一致

答案解析

正确答案:A

解析:

这道题考察的是 C 语言中**数组名作为函数参数传递**的机制。 ### 核心知识点解析 在 C 语言中,当一维数组名作为函数的实参时,实际上传递的是**数组首元素的地址**(即指针),而不是整个数组的副本。这意味着形参接收到的是一个指向该数组第一个元素的指针。 ### 选项逐一分析 * **A. 必须在主调函数中说明此数组的大小 —— 【正确】** * **理由**:虽然在被调用函数内部,形参通常被处理为指针,无法直接通过 `sizeof` 获取数组长度,但在**主调函数**(调用者)中,必须定义并分配好数组的内存空间,也就是说必须明确数组的大小,才能生成有效的数组名(地址)传递给被调函数。如果主调函数中没有定义数组大小,数组就不存在,也就无法传递数组名。因此,从程序正确性的角度来看,主调函数中必须说明(定义)数组的大小。 * **B. 实参数组类型与形参数组类型可以不匹配 —— 【错误】** * **理由**:C 语言是强类型语言。实参数组元素的类型必须与形参声明的类型兼容(一致或可隐式转换)。如果类型不匹配(例如实参是 `int` 数组,形参是 `float` 指针),编译器会发出警告或错误,导致数据解释错误。 * **C. 在被调用函数中,不需要考虑形参数组的大小 —— 【错误】** * **理由**:这是一个常见的误区。因为传递的是地址,被调函数**丢失了数组的长度信息**。如果被调函数需要遍历或操作整个数组,程序员**必须**通过额外的参数(如传入数组长度 `n`)来告知函数数组的大小,否则极易发生数组越界访问。因此,在被调函数中“需要考虑”数组大小,通常需要通过其他途径获取。 * **D. 实参数组名与形参数组名必须一致 —— 【错误】** * **理由**:实参和形参是两个不同作用域中的标识符。实参是主调函数中的数组名,形参是被调函数中的局部变量(指针)。它们的名称可以完全不同,只要类型兼容且传递的是地址即可。例如,主调函数用 `arr`,被调函数可以用 `x` 接收。 ### 总结 * 数组传参本质是**传地址**。 * 主调函数必须定义数组(确定大小)才能产生地址。 * 被调函数收到的是指针,不知道数组多大,通常需要额外传递长度。 * 类型必须匹配,名字可以不同。 因此,最符合逻辑和规范的说法是 **A**。
题目纠错
c语言选择判断题库

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

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