for回圈陳述句拆出來應該是這樣
p=p->tlink;
p;
k=p->headvex;
第三條陳述句p已經為null了,為什么還能通過第二條陳述句
uj5u.com熱心網友回復:
沒人回答么。。。uj5u.com熱心網友回復:
p為null就退出for回圈了呀,就不會再執行k=h->headvex了uj5u.com熱心網友回復:
但我除錯的時候他執行了然后出現了段錯誤
uj5u.com熱心網友回復:
那你就在for列印出p看看是不是0,估計p->think不是null,是個野指標uj5u.com熱心網友回復:
我覺得你應該檢查一下別的地方的代碼,看看p->tlink是不是最后一個沒有設nulluj5u.com熱心網友回復:
我錯了,少了一個大括號
,現在運行通且對了
uj5u.com熱心網友回復:
沒有花括號是第一條陳述句有效啊,那k=p->headvex也不執行得,出錯也是后面錯。一開始被你的問題先入為主,忽略了后面了
uj5u.com熱心網友回復:
所以大概就是,第三條陳述句沒有執行,而是執行了第四條dut那條,但是我把那兩條短的合并一行,除錯的時候出錯我就誤以為第三條

現在沒電腦,等上了電腦再結貼給分哈
uj5u.com熱心網友回復:
你的for陳述句寫的問題for()
k=p->headvex;; dut=p->info;
錯在這句, 和k=p->headvex; 寫在一行了
for陳述句執行再k=p->headvex;之后就結束了, p是NULL
所以 dut這句錯了
要么for后面大括號把兩句都括一起來
要么就是后面的dut那句要改
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/111535.html
標籤:新手樂園
下一篇:輸入輸出最大的數字結果總是不對
