程序为什么会跳着执行?
我这段程序事想把以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重新编译
[解决办法]
绝对不会,你可能是犯了个低级的错误
[解决办法]
把调试信息都打勾,重新编译再看看