c语言如果用字符串类型输出字符数组,字符数组最后一个是0,那么为什么会出现乱码

字符串是怎么确定他每个输出元素的类型的

因为你的字符串数组错误的引用了存在脏数据的内存
要避免,就要初始化数组
memset(str,0,n)
将str字符串中前n个字节替换为0并返回str;
str为你定义的字符串,n为字符串容量,并非长度,即char a[20],不管你有几个字符,n为20为佳
加上头文件string.h
消息来源华夏联盟,亲
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-10
如果最后一个是0,或者'\0',不是'0',是不会输出乱码的;追问

怎么确定字符串每个输出单位的类型呢,有时候会出现汉字乱码,有时候就不会

第2个回答  2012-09-11
可以把你的源代码贴出来 我们看看么?还有运行结果的图片本回答被提问者采纳
相似回答