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

1、第24题 (1.0分) 题号:556 static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是()。

A
 a[1]
B
 a[-1]
C
 a[0]
D
 a[10]

答案解析

正确答案:C

解析:

**解析:** 1. **数组定义分析**: 代码 `static struct {int a1;float a2;char a3;} a[10]` 定义了一个包含 10 个元素的结构体数组 `a`。 * `static` 表示该数组采用静态存储方式,若未完全初始化,剩余部分会自动初始化为 0。 * 数组下标从 `0` 开始,到 `9` 结束。因此,合法的下标范围是 `a[0]` 到 `a[9]`。 2. **初始化列表分析**: 初始化部分为 `{1, 3.5, 'A'}`。 在 C 语言中,当对数组进行初始化时,如果提供的初始值数量少于数组元素的总数,这些值会依次赋给数组的前几个元素。 * `1` 赋给第一个元素 `a[0]` 的成员 `a1`。 * `3.5` 赋给第一个元素 `a[0]` 的成员 `a2`。 * `'A'` 赋给第一个元素 `a[0]` 的成员 `a3`。 3. **结论**: 初始化列表中的值仅用于初始化数组的**第一个元素**,即下标为 0 的元素 `a[0]`。 * `a[1]` 及后续元素虽存在,但未被显式初始化(会被默认初始化为 0),题目问的是“被初始化的下标变量”,通常指显式赋予初值的那个变量,或者根据语境指代接收了初始化列表值的变量。在此题境下,只有 `a[0]` 接收了花括号内的具体数值。 * `a[-1]` 是非法下标。 * `a[10]` 是越界下标(最大下标为 9)。 因此,被显式初始化的下标变量是 `a[0]`。 **正确答案:C**
题目纠错
c语言选择判断题库

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

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