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

 我来答
zy1404
推荐于2016-01-20 · TA获得超过1387个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:477万
展开全部

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

都输出了

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

发下你的代码?比如

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

 解决方式:

#include<stdio.h>
#include<string>
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);
}
追问
程序有点长,我发私信给你了
追答
你直接加这条语句就行
#include
在使用A之前初始化下:
memset(a,0,sizeof(a));//设置每一位都是结束位,你的添加这条代码就解决问题了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式