c语言关于数组长度的疑问

原题:已有定义:chara[]="xyz",b[]={'x','y','z'};下面叙述正确的是()。A)数组a和b的长度相同B)数组a的长度小于数组b的长度C)数组a长... 原题: 已有定义:char a[]="xyz",b[]={'x','y','z'};下面叙述正确的是( )。 A)数组a和b的长度相同 B)数组a的长度小于数组b的长度 C)数组a长度大于数组b长度 D)上述说法都不对 我看正确答案是选A)数组a和b的长度相同。 可a明明是字符串常量,末尾应该加上\0,也就是说a的数组长度是4; b是字符常量,所以数组长度应该是3; 所以我认为应该选C才对,可为什么答案上选的A呢? 你们觉得呢? 展开
 我来答
圣淡容友梅
2019-01-19 · TA获得超过3779个赞
知道大有可为答主
回答量:3194
采纳率:28%
帮助的人:434万
展开全部
你说得对,a末尾有"\0",b没有。
题目出得不清楚,“数组长度”指数组有几个数组元素,还是占据内存的长度,还是字符串长度。
数组元素个数,a
4个,
b
3个
占据内存的长度,
sizeof(a)
得4
,sizeof(b)

3
字符串长度,strlen(a)得3
,strlen(b)得
3
题目想问的是“字符串长度”,说成“数组长度”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式