c语言编好程后运行,运行程序出现乱码。是什么问题?

2025-03-12 09:53:40
推荐回答(1个)
回答1:

你没有设置结束标记'\0',就把a的所有内存内容

都输出了

主要就是你使用输出的那一段内存没有初始化

发下你的代码?比如

#include
void main()
{
char a[20];
a[1]='1';
a[18]='2';
a[19]=0;
printf("%s",a);
}

 解决方式:

#include
#include
void main()
{
char a[20];
memset(a,0,sizeof(a));//设置每一位都是结束位,你的添加这条代码就解决问题了
a[0]='0';
a[1]='1';
a[18]='2';
a[19]=0;
printf("%s",a);
}