C程序编译结果出现乱码现象

目录

一、起因

二、为什么会出现这种现象

三、如何解决问题


一、起因

由上图那一行显眼的乱码引起的,看着实在时太丑了——既然太丑了那就把它去掉吧。起初不知道这是因为什么原因引起的,百思不得其解。后来在指导老师的指导下瞬间就明白了,下面则是我的一些总结。

二、为什么会出现这种现象

C语言字符串以' \0 ' 结尾,如果不以该符号结尾则会输出 %s 时会出错,程序一直往存放字符串的地址访问,而你的程序中并没有赋' \0 ' 给那个数组。所以编译时就会出现乱码现象,如上图所示。

三、如何解决问题

使用数组应当初始化,可以使用memset将数组里的每一个元素初始化为0,如下所示:

char   buf[1024];

memset(buf, 0, sizeof(buf));   
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值