首页 > 试题广场 >

下列对字符数组进行初始化的语句正确的是?

[单选题]
下列对字符数组进行初始化的语句正确的是?
  • char a[] =“Hello”;
  • char a[][]={‘H’,‘e’,‘l’,‘l’,‘o’};
  • char a[5]= “Hello”;
  • char a[2][5]={ “Hello”,“World”};
比较简单。
A正确。
B二维数组最后一维必须有值。***数组只能省略第一维(感谢评论提醒)
CD都超出长度,最后有"\0"
编辑于 2018-03-11 00:41:15 回复(6)
char a="hello"正确的,char 数组默认加一个\0作为结束符
发表于 2019-04-09 14:07:18 回复(0)
B错,二维数组可以省略第一维的,但是第二维不可以省略
C和D错,C系统在用字符数组存放字符串常量时,会自动加一个‘\0’作为结束符,例如,“C program”共有9个字符,字符串是存放在一维数组中的,在数组中占10个字节,最后一个字节'\0'是由系统自动加上的。
发表于 2021-05-09 15:10:29 回复(0)

A.
如果对全部元素初始化,定义数组时,可以省略数组元素个数
            如:
                int a[] = {1,2,3,4,5,6};
                可以省略元素个数,编译器会根据{}里面的数值个数反推元素个数
B.
    多维数组声明必须至少指定除第一维以外所有维的大小
CD.
    没有指明是字符串,如果是字符串还要存\0,理论上应该也可以存
发表于 2023-09-12 17:10:28 回复(0)
数组只能省略第一维
发表于 2025-08-17 21:58:17 回复(0)
A对
发表于 2022-01-01 16:57:50 回复(0)
这题有点问题,应该问字符串
发表于 2021-12-02 10:28:02 回复(0)
这不是字符串数组嘛?题目说字符数组
发表于 2021-11-27 00:32:38 回复(0)
这道题不是问字符数组吗,为啥按照字符串数组给的答案
发表于 2021-05-01 09:55:45 回复(0)
***数组只能省略第一维
发表于 2018-03-22 21:36:05 回复(0)