c++问题,请问选什么?为什么?
3个回答
展开全部
选择D。
因为y[]的最后一位存'/0'表示结束,所以y的长度大于X
其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
因为y[]的最后一位存'/0'表示结束,所以y的长度大于X
其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
更多追问追答
追答
答案是
追问
是c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选C
比如说char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节
比如说char a[]={'a','b','c'} 这是一个字符数组,占3个字节。 char a[]="abc" 则不同,它是一个字符串,最后还有一个'\0'结束符,占4个字节
追问
但是,他问的不是长度吗?
长度和大小是不同的概念啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
选C
char x[]="abcdefg" 后面还跟着一个'\0';所以占了8个字节;
char y[]={'a','b','c','d','e','f','g'}只占7个字节;
其实说确切点应该是字符数组所占空间
但是如果你想获得字符串的长度,其实下面的那种是不定的,你要看看内存中到哪位是\0
char x[]="abcdefg" 后面还跟着一个'\0';所以占了8个字节;
char y[]={'a','b','c','d','e','f','g'}只占7个字节;
其实说确切点应该是字符数组所占空间
但是如果你想获得字符串的长度,其实下面的那种是不定的,你要看看内存中到哪位是\0
更多追问追答
追问
但是对于长度来说,结束符不是不算在内吗?
追答
算啊,所以x比y多占一位
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询