首页 新闻 赞助 找找看

递归的怪问题

0
悬赏园豆:10 [待解决问题]

功能:根据XML序列化出的对象对传入的字节数组进行解析

步骤:

1.传入对应的命令,然后根据命令解析规则,进行解析

2.因为命令中带有参数,然后参数中又包括子参数

所以当对参数进行解析(解析方法名称ParseData),

  先判断当前参数是否包括子参数,如果包括则先对子参数进行解析(即递归调用ParseData方法),

         如果不包括子参数,则直接对当前参数进行解析。

问题:

1.当使用测试程序,传入一条命令的字节数组时,解析正常。没有报异常

2.当把代码应用到实际场景(即放到通讯软件中使用时),对于出错的那条指令,前面的各参数解析都正常,但是当解析到一个特定位置(数组下标986)时,递归返回的层数差了一层,比如说 我从递归开始调用,一共递归了4层,那么当进行下次调用时,应该是递归回最外层。但是实际情况是只返回了第二层,并没有冒泡到最外层。 不知道这样的原因是什么?请解答

PS:

我使用测试程序调用时,是可以返回到最外层的。当然这个最外层只是相对来说的,把他理解成正确的那个层就好。  

        

二十二号同学的主页 二十二号同学 | 小虾三级 | 园豆:790
提问于:2013-08-01 16:12
< >
分享
所有回答(3)
0

全是文字叙述啊,没看懂,给点代码啊。不过我建议你把你在放到软件使用的参数放在测试程序调试一下,如果还是不行,肯定通讯软件的代码和测试代码不同了,逻辑是这样的

懒胖gg | 园豆:144 (初学一级) | 2013-08-01 17:07
0

检查变量和参数的使用,贴上关键代码。

写代码的小2B | 园豆:4371 (老鸟四级) | 2013-08-01 17:28
0

递归这东西就是考验思路的,我想贴出来用处也不大

空明流光 | 园豆:106 (初学一级) | 2013-08-02 10:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册