要让下图C语言程序输出结果为5555费会,结果为什么中间多了两个奇怪的字符?

 我来答
xgn911
2022-12-12 · TA获得超过1364个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:651万
展开全部

因为UTF-8编码下一个中文字符占3个字节,四个中文字符占12个字节

若只赋值前4个字节,后面的字节上还是中文字符,因此会显示乱码

正确做法为先将arr整个清空,再赋值前4个字节即可,如图所示:

首先arr数组长度为13,即四个中文字符的12字节加上结尾的'\0'

然后先将整个数组置空后,再赋值,即可正确输出"5555",望采纳~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式