大家做几道c语言的选择题

若有说明:inta[10];则对a数组元素的正确引用是()A.a[10]B.a[3.5]C.a[5]D.a[10-10](我知道AB不选CD选哪个?为什么?)设有如下数组... 若有说明:int a[10]; 则对a数组元素的正确引用是()
A.a[10] B.a[3.5] C.a[5] D.a[10-10]

(我知道AB不选 CD 选哪个?为什么?)

设有如下数组定义,则正确的叙述为()
char x[ ] = { "abcdefg" };
char y[ ] = { 'a','b','c','d','e','f','g' };
A.数组x和数组y等价 B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度 D.数组x的长度小于数组y的长度

下列数组说明语句中,正确的是()
A.char a [3][ ]={'abc','1'}; B.char a[ ][3]={'abc','1'};
C.char a [3][ ]={'a',"1"}; D.char a[ ][3]={"a","1"};

分别说明选哪个 为什么
展开
 我来答
匿名用户
2015-08-01
展开全部
  1. C;因为int a[10]定义为一个10个int的数组,范围为0-9,因此A答案直接排除;B和D都是非法的引用,所以答案是C

  2. C;因为x数组是以一个整体的字符串作来存储,所以其真实长度要加上1,因为字符串后尾有\0(空字符)表示字符串的结束,而y是以单个字符来存储,不存在x的情况

  3. C;字符串需要用“”来表示而不是''所以A,B直接排除,D是因为其为一个指向3个字符的数组,所以赋予其字符是非法的。

追问
2题中计算字符串的长度不是不计算'\0'的吗?计算字符串存储字节数,才把'\0'计算在内
3题A和C都是错的 因为二维数组中第一维的长度可以缺省 但第二维的长度必须指明
匿名用户
2015-08-01
展开全部
1
CD应该都对, a[5]不说了,a[10-10]就是a[0]也没问题
2
C x字符串最后有字符'\0'
3
D 二维数组,后面的赋值也应为二维,大括号一个维度,字符串一个维度
更多追问追答
追问
1.这不是多选题亲
2题中计算字符串的长度不是不计算'\0'的吗?计算字符串存储字节数,才把'\0'计算在内
3你说啥意思啊我不明白
追答
1 确实都对,真心不骗你,不信你可以编译试试,亲测没问题
2 字符串的length不包含'\0',但是数组的空间占用要包含'\0'
3 就是说字符串"abc"的本质是字符数组{'a','b','c'},如果给二维数组赋初值,那么右边也应该是个二维数组,简单的理解就是一维数组的一维数组,另外字符串长度可以短于对应数组长度,也就是说char a[100]="a"是合法的,只要是用双引号,即使只有一个字符也当做字符串看待
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式