C语言 字符串的输出,为什么输出那么多‘烫’呢?

C语言 字符串的输出,为什么输出那么多‘烫’呢?,第1张

输出"烫烫烫烫"是因为vc会自动把未用函数的局部变量空间按字节全部裂正戚初始化为CC。

而定义的字符数组空间不够,所以就占用了那部分不属于自己的空间,因为cout输出char*是要遇到空字符才停止的,所以便把那些垃圾都打出来了。

即是说在最后没有字符串结束标志'\0'。

扩展资料:

字符串的函数应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。肆陵

3、删除子串。过程 Delete(s,I,l) 从字符串清链s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’delete(s,2,3)结果s:=’ae’

参考资料来源:百度百科-字符串

请lz在使用数组前,先把字符数组用‘\0’初始化!就行ok了!

因为的字符串枣滑的长度是80.而可能你赋值的时候,没有达到80的长度!而且程序也不会自动帮你添加‘\0’。所以打印的时候,是整个数组全部打印出世仿来的!也就出现了这些。。。烫烫烫烫烫烫。。。。的乱码!

请凳返腊参考函数zeromemory!!!!!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12520746.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存