字符数组的问题

比如有4位的字符型要存入一个数组,那么应该定义数组xx[4]还是xx[5]... 比如有4位的字符型要存入一个数组,那么应该定义数组xx[4]还是xx[5] 展开
 我来答
FrankHB1989
2010-08-09 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3140万
展开全部
LS错误。
取决于具体使用情况。
用xx[5]是为了在最后预留一个空位,置为'\0',以便把xx作为C风格字符串进行字符串操作(例如利用标准库中的strcat、strcpy、scanf/printf的%s格式控制符、sprintf等)。这时候如果定义的是xx[4],输出的行为不可预料。而如果只是要进行储存字符,遍历数组之类的操作,完全可以只定义xx[4](定义xx[5]会浪费1个字节,不过不会有逻辑上的错误)。
所以结论是,若xx可能会被当作C字符串处理,那么应该定义xx[5],否则定义xx[4]或xx[5]都没问题。
====
[原创回答团]

参考资料: 原创

岚洌
2010-08-09 · TA获得超过9891个赞
知道大有可为答主
回答量:1590
采纳率:0%
帮助的人:3294万
展开全部
xx[5]
因为char数组一定要以‘\0’来作为结尾。要想这个数组正常,就要给它保留第五个位置来存放‘\0’
希望能帮到你,有什么问题可以再联系我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
烈焰之恋
2010-08-09 · TA获得超过171个赞
知道答主
回答量:129
采纳率:0%
帮助的人:84.2万
展开全部
xx[3]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式