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

1、第160题 (1.0分) 题号:634 以下不正确的定义语句是()。

A
 double x[5]={2.0,4.0,6.0,8.0,10.0};
B
 int y[5]={0,1,3,5,7,9};
C
 char c1[]={'1','2','3','4','5'};
D
 char c2[]={'\x10','\xa','\x8'};

答案解析

正确答案:B

解析:

这道题考查的是 C 语言中数组的定义与初始化规则,特别是**数组大小与初始化元素个数之间的匹配关系**。 ### 详细解析: **1. 分析选项 B(错误项):** ```c int y[5]={0,1,3,5,7,9}; ``` * **定义部分**:`int y[5]` 明确指定了数组 `y` 的长度为 **5**,即该数组只能容纳 5 个 `int` 类型的元素。 * **初始化部分**:花括号 `{}` 中提供了 **6** 个初始值:`0, 1, 3, 5, 7, 9`。 * **结论**:初始化值的个数(6个)**超过**了数组定义的长度(5个)。在 C 语言标准中,这是非法的,编译器会报错(如 "excess elements in array initializer")。因此,**B 是不正确的定义语句**。 **2. 分析其他选项(正确项):** * **A. `double x[5]={2.0,4.0,6.0,8.0,10.0};`** * 数组长度为 5,初始化值也有 5 个。 * 类型匹配(double),个数匹配。 * **正确**。 * **C. `char c1[]={'1','2','3','4','5'};`** * 数组长度未显式指定(使用 `[]`),编译器会根据初始化值的个数自动推断数组长度。 * 这里有 5 个字符,所以数组长度自动确定为 5。 * **正确**。 * **D. `char c2[]={'\x10','\xa','\x8'};`** * 同样未显式指定长度,编译器根据初始化值个数自动推断长度为 3。 * `\x10`、`\xa`、`\x8` 是合法的十六进制转义字符,分别代表 ASCII 码值为 16、10、8 的字符。 * **正确**。 ### 总结: 只有选项 **B** 出现了初始化元素个数多于数组声明长度的情况,违反了 C 语法规则。 **正确答案:B**
题目纠错
c语言选择判断题库

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

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