C++关于数组在不用strcat函数的情况下 把2个字符连接

[复制链接]
查看11 | 回复0 | 2010-4-22 17:49:49 | 显示全部楼层 |阅读模式
if(strlen(f)0x7F,本身不会以ASCII字符输出,而是每两个0xCC被解释为一个汉字——GBK内码为0xCCCC的“烫”。如果工程选项中设置Release模式再编译,看到的就不是“烫烫烫烫烫……”了。后面重复了"DEF"的原因函数内变量处于栈空间,从高地址向低地址生长,先前定义的变量占据高地址,后定义的变量在此之前。这里h越界访问时最终会遇到数组g中的'\0'结束,由于是同一个函数中的变量,不会导致程序崩溃。如果f、g中都不含有'\0'则会读取这个函数之外的部分,可能产生访问违例(Access Vioation,错误代码0x00000005)导致崩溃。====[原创回答团]参考资料:原创

已赞过已踩过<
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行