首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

程序为什么会跳着执行?该如何解决

2012-02-17 
程序为什么会跳着执行?我这段程序事想把以MamTransQueHead为都的链表后面的数据,全部链在以mcHead为头的链

程序为什么会跳着执行?
我这段程序事想把以MamTransQueHead为都的链表后面的数据,全部链在以mcHead为头的链表后面。
其中num表示除头外有多少个数据。mcRear是尾指针。

while(MacTransQueHead   -> num   !=   0   )
    {
        mcHead   -> num++;(1)
        mcPoint   =   (struct   MacMem*)MacTransQueHead   -> next;(2)
        MacTransQueHead   -> next   =   mcPoint   -> next;(3)
        MacTransQueHead   -> num--;(4)
        mcRear   -> next   =   mcPoint;(5)
        mcRear   =   mcPoint;(6)
        mcRear   -> next   =   NULL;(7)
      }
问题是我按步跟踪时,顺序执行,MacTransQueHead   -> num   =   1时,不一定到哪一句就会跳到(1)句,之后再接跳到后面的任意句,我发现没有什么规律。直道执行完(7)然后半段跳出。我已经把所有的.obj删除重新编译,还是不行。哪位能知道是为什么?

[解决办法]
这个不会吧 没有碰到过
[解决办法]
有两种可能
1> 执行的代码已经经过优化,所以会和源代码对不上,基本上就是这种可能!
2> 你的代码是改过后,但程序运行的是改过之前的
解决办法,就是将整个project重新编译
[解决办法]
绝对不会,你可能是犯了个低级的错误
[解决办法]
把调试信息都打勾,重新编译再看看

热点排行