请大家帮忙看看以下C++程序,为什么结果是 11 15 ?请给出详细解答,谢谢!

[复制链接]
查看11 | 回复4 | 2012-7-13 16:52:18 | 显示全部楼层 |阅读模式
你的arr1和 arr2的结束字符\0没有手动赋值,那么编译器会自己根据电脑的内存空间去考虑虽然你的是11,15,但是在我的电脑上却是19,31改下代码就好了char arr1[]={'a','b','c','d','e','\0'} ;char arr2[]={'a','b','c','d','\0'} ;...
回复

使用道具 举报

千问 | 2012-7-13 16:52:18 | 显示全部楼层
上面是数组arr1和arr2的内存图arr1中从a也就是61开始数 到11个到出现第一 00也就是'\0'同理 arr2是到15才遇到00所以 输出的是这俩数 ...
回复

使用道具 举报

千问 | 2012-7-13 16:52:18 | 显示全部楼层
你的arr1 和arr2都没有结束符 所以一直在循环...
回复

使用道具 举报

千问 | 2012-7-13 16:52:18 | 显示全部楼层
字符数组不会自动加'\0’的 那就是什么时候碰到什么时候结束...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行