Re: [問題] 單向鏈結串列的反轉
※ 引述《kissurface (我愛貓貓)》之銘言:
: void f(NodePtr *head)
: {
: NodePtr r,q,p;
: q=p=*head;
: if(p==NULL)return;
: while(p->link!=NULL && q!=NULL){
: r=p;
: p=p->link;
: q=p->link;
: p->link=r;
: }
: *head->link=NULL;
(*head)->link
這樣就好了..
因為 -> 的優先權比 * 高
原本的寫法形同 *(head->link)=NULL
但 head 的型態是 NodePtr* 不是 NodePtr,所以你要取 link 出來就錯了
其實這種編譯錯誤,看一下錯誤訊息通常就知道問題在哪囉
: *head=p;
: }
: 上面是我寫的函數 雖然自己用筆trace好像沒什麼邏輯錯誤
: 但是編譯一直錯誤 我怎麼改都改不出來 想請各位高手們幫我看看
: 到底是哪理寫錯了呢??謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.126.2.150
※ 編輯: UNARYvvv 來自: 122.126.2.150 (07/13 03:16)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章