int preordertraverse(bitree t,int(* printelement)(elemtype e)){if(t){if(printelement(t->data))if(preordertraverse(t->lchild,printelement))if(preordertraverse(t->rchild,printelement))return OK;return ERROR;}else return OK;}怎么在其他函數中調用這個函數?。空{用時,應該怎么寫啊?preordertraverse(t,int(* printelement)(elemtype e));int(* printelement)(elemtype e)這個地方應該寫什么?感謝賜教啊~~preordertraverse(t,e);preordertraverse(t,&e);都不行~試過 哦,對了,printelement(char e)這是一個函數 還是沒解決
2 回答

當年話下
TA貢獻1890條經驗 獲得超9個贊
int preordertraverse(bitree t,int(* printelement)(elemtype e))
第二個參數是個程序指針,你要傳入一個返回值為int,參數為elemtype型的函數指針才行的撒…
說的簡單點第二個參數實際上是個回調;
int function1(elemtype e); //聲明一個全局的函數,函數內容自己去寫
int (*pf)(int)=&function1; //把函數指針賦值給pf
//調用
preordertraverse(t,pf);
- 2 回答
- 0 關注
- 412 瀏覽
添加回答
舉報
0/150
提交
取消