weixin_41575535 2019-03-08 09:47 采纳率: 100%
浏览 4157
已采纳

C语言char类型变量为什么赋值中文输出乱码?

char类型变量a声明后直接赋值,可以正常输出。
图片说明

然而这样赋值却会输出乱码。
图片说明

这是为什么?想了很久都没想通,是不是我代码写错了?
小白求教!

  • 写回答

5条回答 默认 最新

  • 窝米逗佛~ 2019-03-08 11:47
    关注

    常用中文都占两个字节
    你的第一种写法 相当于 只用了 a[0] - a[4]
    其中 a[0]-a[1] == 你 a[2]-a[3]== 好 a[4] == \0 结束符
    而 你的第二个 问题就多了
    首先 a[10] 已经越界了 数组大小为10 下标 只能取到 a[9];
    另外 a[num] 是一个字节 你要复制 5个字节的东西 怎么能行?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 写uniapp时遇到的问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流