c++问题,请问选什么?为什么?

 我来答
51CTO学院
2015-11-30 · 中国最大的IT实战在线培训平台
51CTO学院
中国最大的IT实战在线教育培训平台。
向TA提问
展开全部
选择D。
因为y[]的最后一位存'/0'表示结束,所以y的长度大于X
其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
更多追问追答
追答
答案是
追问
是c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神w小童鞋
2015-11-30
知道答主
回答量:7
采纳率:0%
帮助的人:4.7万
展开全部
选C
比如说char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节
追问
但是,他问的不是长度吗?
长度和大小是不同的概念啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哥们儿会_臭臭
推荐于2016-06-01 · TA获得超过876个赞
知道小有建树答主
回答量:421
采纳率:50%
帮助的人:184万
展开全部
选C

char x[]="abcdefg" 后面还跟着一个'\0';所以占了8个字节;
char y[]={'a','b','c','d','e','f','g'}只占7个字节;
其实说确切点应该是字符数组所占空间

但是如果你想获得字符串的长度,其实下面的那种是不定的,你要看看内存中到哪位是\0
更多追问追答
追问
但是对于长度来说,结束符不是不算在内吗?
追答
算啊,所以x比y多占一位
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式