c语言输出字符数组出现汉字乱码解决方法

最近在完成数据结构作业,在代码过程中经常遇到一些小问题,比如在输出字符串数组时,在一串自己想要的字符后面经常会出现一些不知名的汉字乱码。

(这段代码是去除字符数组里面重复数组元素)

#include "header.h"
extern int CountLength(char name[],int len);

int DealArray(char num[]){
	printf("你输入的逻辑表达式的操作数(去除重复操作数):");
int v=0;
int g=CountLength(num,v);
int i,j,k,L;
	
for(i=0;i

运行结果:

你输入的逻辑表达式的操作数(去除重复操作数):BDE虁

解决方法是在数组后面加一个'\0',数组结束符号

如果是在测试的话,在你自己输入的数组后面加一个'\0'数组元素

int main(){
	char n[]={'B','B','B','B','D','E','\0'};
DealArray(n);
}

如果是用for循环为数组赋值的话,记得在for循环结束后,为最后一个数组元素赋值'\0'

for(i=0;i

 

你可能感兴趣的:(c语言输出字符数组出现汉字乱码解决方法)