21st-Oct 关于string数组: 下一个string数组为什么会受到上一个的影响
来源:互联网 发布:mac tree 编辑:程序博客网 时间:2024/04/30 13:14
log:
之前由于使用char [ ] 数组来求轨迹的长度,但是由于char 数组会在我填充完毕以后自动加上很多的乱码,导致我不能顺利利用strlen的方法求出实际轨迹的长度
然后的办法是利用方向指令,一个string数组的长度来求运动轨迹长度
但是实际操作以后发现还是会出一点问题,见下:
Starting at Bond Street and taking the steps: S,S,SE,S <-这是我导入的方向指令 case1: case2: #14||20the symbol :+ #14||20the symbol :+ #15||20the symbol :+ #15||20the symbol :+ #16||21the symbol :+ #16||21the symbol :+ #17||21the symbol :c <-实际导入的轨迹只到这里为止-> #17||21the symbol :c #17||22the symbol :# <-从这里开始是莫名加上的-> #17||21the symbol :c #17||23the symbol :# #18||23the symbol :+ #17||24the symbol :# #16||25the symbol :
导入同一个轨迹但是实际运动却完全不一样,而且本来是能顺利到终点的,结果确实两种错误
观察1. 错误轨迹中:17||22与17||23是真实存在的两个点而且也的确对应着坐标“#”
说明在点在到达指定位置以后仍然在行驶着,而且还在收到下一方向的指令 也就是说:方向指令的 string 列表出了错误
利用for循环打开case1中的方向指令数组:在输入S,S,SE,S指令以后,实际指令却是:S,S,SE,S + E,E,E,NE, 加上了多余的E,E,E,NE方向指令,而这些方向指令 ,正好对应上了17||22 ~16||25的坐标,说明的确是方向指令的string列表出错
打开负责从char[ ]数组录入信息到方向指令的for 循环,发现终止条件是isalnum(route[route_index]) != 0
观察2. case2之前,在case2之前,上一个测试中,route存储的是,SE,E,E,E,E,E,E,NE指令,剥掉case2中的4个位置,那剩下来的正好是E,E,E,NE方向!!!
也就是说:route永远是固定在同一条连续的内存单元上,case2之前存了8个内容,那就分配了8个单 位的内存大小,到了case2只有4个内容,那就从连续单元的头开始分配4单位大小,这4个信息覆盖了 上一次route的前四个内容,但是后4个仍然留在了那里,导致这一条内存上看起来是有8个的
问题解决!!
的确是因为上一个route残存下来的位置信息,被放在现在的route后面,在遍历的时候被认为也是方向的一部分
main()函数里对route赋值完以后,有一个操作是cout << route, 但这时候显示的是长度为4个单 位的route, 原因可能是cout操作是执行的是一种不严格的标准,所以你输入4个,就是4个,但是for -loop执行的时候用的是严格的标准, 因此紧接其后的都会被用标准审查
阅读全文
0 0
- 21st-Oct 关于string数组: 下一个string数组为什么会受到上一个的影响
- 21st-Oct 时对时错的方向指令string数组
- 用c++实现数组的下一个|上一个序列
- 光是会受到磁场的影响
- BJ模拟:string(后缀数组+Trie+ST表+分块)
- string数组
- 数组、String
- PHP 获取数组任意下标key的上一个prev和下一个next下标值
- List数组和String数组的转化
- 关于char[]数组,char*指针,std::string*之间的转化
- javascrip中关于数组的操作和部分string
- string类数组的输入
- PHP的数组转String
- SeekBar的进度条会受到activity主题的影响
- 互联网是否会受到云计算发展的影响
- seo效果会受到模板的影响么?
- List<String>转String[]数组
- String 数组 转成 List<String>
- 1021. 个位数统计 (15)
- AlphaGo Zero都开始自学了,你今天机器学习了吗
- linux命令--xargs
- 第三次实验
- gradle打印所有task的输入输出、打印所有task的依赖关系
- 21st-Oct 关于string数组: 下一个string数组为什么会受到上一个的影响
- java源码之浅谈LinkedHashMap
- bzoj 1042: [HAOI2008]硬币购物
- 从零开始 java spring+mybatis 搭建项目。
- Java定义一个一维数组有哪几种方法
- disconf-web在windows下的部署
- java基础知识
- Injection of resource dependencies failed解决办法总结
- oj刷题-2845: 编程题AB-卡片游戏