C语言中,变量在声明时,默认不初始化。
微软的 VC 编译器会将未初始化的栈空间以 16 进制的 0xCC 填充,而未初始化的堆空间使用 0xCD 填充,而 0xCCCC 和 0xCDCD 在中文的 GB2312 编码中刚好对应“烫”和“屯”字。
当一个字符串没有结束符“\0”,则直接输出的内存数据转换为字符串就正好对应着“烫烫…烫”和“屯屯…屯”。
因此,需要习惯在使用C语言进行声明时要初始化操作,稍有不慎,就会造成不可预知的后果。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务