[問題] struct node副函式回傳值

看板C_and_CPP (C/C++)作者 (真理)時間16年前 (2009/12/25 18:24), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
我有個使用struct node宣告的副函式 他可以很成功的找到該節點之後並回傳節點 但我的問題是沒有找到節點 程式碼中我是設定回傳null 但在程式中我將其值印出來 卻是1 這倒也還好 我卻發現那不能當做整數判斷 if(ptr==1) 這種程式碼會compiler不過 有請各位前輩幫幫小弟解答了 >< 附上程式碼 副函式 struct node *insist(struct node*ptr,int node){//找尋節點是否存在 int x1=0,x2=0; //這裡的int node 就是我要找的節點 struct node*go2; //數字命名方式就是 完整二元樹那樣 struct node*go1; // 1 go1=NULL; // 2 3 go2=NULL; //4 5 6 7 if(ptr){ go1=insist(ptr->left,node); go2=insist(ptr->right,node); if(ptr->num==node){ return ptr; } if(go1!=NULL){ return go1; } else if(go2!=NULL){ return go2; } else{ return NULL; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.99.201

12/25 18:49, , 1F
自問自答...ptr=NULL沒辦法進入if的時候 需要回傳null
12/25 18:49, 1F

12/25 19:23, , 2F
compiler沒有發warning說有case沒有回傳值嗎@_@"
12/25 19:23, 2F

12/26 17:32, , 3F
噗 我只是少考慮了一個條件 一3一
12/26 17:32, 3F
文章代碼(AID): #1BD9B9T8 (C_and_CPP)
文章代碼(AID): #1BD9B9T8 (C_and_CPP)