c++指针输出字符串有乱码

不知道为啥会有乱码,是直接形参和实参都是字符串指针。。传递给函数的是字符串指针。voidtheArray(unsignedchar*a){for(inti=0;i<10;... 不知道为啥会有乱码,是直接形参和实参都是字符串指针。。传递给函数的是字符串指针。

void theArray(unsigned char *a){
for(int i=0;i<10;i++) {
a[i]='a';
}
//a[10]='\0';
}

void main(){
//新建的事物
unsigned char* stc= new unsigned char(10);
theArray(stc);
cout <<stc;
system("pause");
}
如果把这个a[10]='\0';评论去掉就好了。
但是照理说也没有字符越界啊,怎么会出现乱码呢?
展开
 我来答
mafangsan
2014-02-06 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2577万
展开全部
cout对字符串输出时,只要找不到'\0'就会一直向后循环,因此字符串最后的结束标记特别重要。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式