小生最近开始重新学习C语言,在VC中联系小程序,在运行时有幸遇见了神秘的“烫烫。。。”如下:
程序很小很简单,自己认为我的逻辑也没错,并且还没有语法错误,可是为什么会这样呢?
这一个个烫可是把我的心都烫着了!
接下来我们分析分析:
我的程序中字符串数组str1是将经过gets()函数输入,将其复制到str2中。在键盘输入字符串后,VC会自动给str1末尾加‘\0’,而str2就没这么幸运了,因为没有VC大佬给他加‘\0’,自己还不初始化,结果就是VC将他处理成0xcccccccc。巧了,0xccccccc对应中文编码“烫”。座椅,你懂了吧。
总结:在VC中,涉及字符串数组时,切记初始化,不是每个字符串都能像str1那样幸运。