21st-Oct 时对时错的方向指令string数组
来源:互联网 发布:服务器安装mysql数据库 编辑:程序博客网 时间:2024/05/18 00:27
Method1: 直接记录所有位置,存储到char [ ] 数组里面,然后根据此array[ ]信息判断换乘+终点是否为车站
问题:char[ ]数组尾全是乱码 ,这样使得程序认为坐标记录本身就是这样的,从而导致终点不是车站的错误
Method2: 利用route转换到string数组,根据string数组长度决定移动的次数,有了移动的次数,就可以只读出char[ ]数组的前多少个字符
问题: route保存了上一次的一些信息,上次的一些信息就被转移到这次来了
Method3: 先将route拷贝到一个新的char[ ]数组里,这样就不会保留有上一次残存的信息
问题:这样做,新的char[ ]数组里确实没有上次的一些信息,取而代之的是乱码
case1:S,S,SE,S <-这是利用cout<<route_real显示出来的路经S,S,SE,S,5a <-这是利用isalnum作为限制条件得出的现实路经is an invalid route (Invalid direction) <-有5a在显然是会被判定为无效路经这样正好说明了时对时错的问题:刷出的随机乱码不一定是字母数字,刷出符号的时候会被isalnum截停,刷出字母数字的时候会被认为也是路经的一部分,导致无效路经错误
因此问题是:在录入路经信息的时候,用isalnum抵挡不了乱码刷出字母数字的问题,那应该怎么正确的将信息录入string数组里
问题解决:非常弱智的错误
问题的出现的确是因为,无论是Method1中的travel[ ]乱码还是Method3中的route_real[ ]乱码 都是因为:char[ ]型数组尾部一定会类型是数字/字母/其他符号的 乱码
那如何正确遍历char[ ]数组?
char[ ]型数组尾部乱码的随机性决定了在遍历的时候,一定不能用对尾部字符类型 判断的方法作条件,如
1.isalnum(array[i]) != 0 <-S,S,SE,S,5a,多了一个5a 2.array[i]!='\0' <-S,S,SE,S,>, 多了一个'>'
因为这些方法全是用的严格标准来做出判断,因此对于并不严格的char[ ]如何获得长度?用不严格的方法获得长度
正确方法: i< strlen(array)
正如对于cout <
阅读全文
0 0
- 21st-Oct 时对时错的方向指令string数组
- 21st-Oct 关于string数组: 下一个string数组为什么会受到上一个的影响
- 关于调研方向的思考-Oct.19.2015
- 方向是对的
- BJ模拟:string(后缀数组+Trie+ST表+分块)
- mips 指令对指定的数组进行排序
- 作为函数参数时String和String[]数组的区别
- 输出string数组时遇到的问题
- 对研究的方向的一点理解
- 实现泛型数组可以对Integer和String类型的数组排序
- 对我未来方向的思考
- 对安卓技术发展方向的猜想
- 对自己学习方向的规划
- 我对技术方向的一些反思
- 任正非对研究部门的方向指导
- 任正非对研究部门的方向指导
- 对java学习方向的总结!
- [BZOJ2119]股市的预测(后缀数组+st)
- jsonp
- 2015 ACM National Contest Romania
- C/C++:使用dlopen、dlsym、dlclose运行时装载动态库
- bootstrap中如何使input中的小图标获得点击事件
- c文件操作之fgets,fputs
- 21st-Oct 时对时错的方向指令string数组
- 计蒜客 Bridge Automation(ACM ICPC 2017 Warmup Contest 9)
- 【MySQL】常用命令
- Effective-Python
- 重写java课程学习二:编写程序
- main函数执行之前都干啥了----C/C++运行时库剖析
- lingo标准模型与编程(附习题)
- 第五天 Javascript面向对象和一些常用对象
- python 参考手册