1樓:創作者
#include
#include
#define len sizeof(struct bitnode)
int i=0;
struct bitnode
;struct bitnode *createtree(struct bitnode *t,char s)
}else t=null;
return t;
}int main()
;int top=-1;
t=createtree(t,s);
if(t!=null)
if(top>-1)}}
printf("ok!");
system("pause");
}因為沒把t返回,所以程式訪問錯誤記憶體,所以程式崩潰。如果你問
struct bitnode *createtree(struct bitnode *t,char s)
struct bitnode *t不是傳地址呼叫嗎,那樓主要重新學習下函式呼叫了。
可以執行了,但是這麼寫程式
t->data=ch;
t->lchild=createtree(t->lchild,s);
t->rchild=createtree(t->rchild,s);
的話,就永遠只有 t->lchild=createtree(t->lchild,s);有值,這種情況應該不是樓主願意看到的吧。
2樓:匿名使用者
createtree這個函式遞迴有點問題改成我這樣的就行了struct bitnode *createtree(struct bitnode *t,char s)
else
}return t;
}還有要改的地方是
createtree(t,s);改成t=createtree(t,s);
執行通過!
c語言和c先學哪個好,C語言和c 先學哪個好?
c語言和c 當然是先學c語言比較好,c語言一般認為是程式設計新手最好初次程式設計接觸的語言了,其中的語法和一些思想對其它語言都有一定的影響。有了c語言,其它語言問題應該都不會太大的。c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯 處理低階儲存器 產生少量的機器...
c語言先怎麼學習呢
從最簡單學習 多聯絡 多找些具體例子 常見演算法必須記住 等。多寫 會背 最後轉化為自己東西 時間長了 就會由生疏到熟悉 由想不出來怎麼寫,慢慢會一點點寫出來 先看書,用譚浩強的那個 c語言程式設計 每個程式看懂,習題都自己寫一下,編寫程式,格式不能少,多抄多寫,最好在在電腦上執行 跟你說,找譚浩強...
C語言先加運算子問題
同意上邊的兄弟所說 對於lz這個題,實在沒有討論的價值,因為不同的編譯器實現的運算級和左右順序可能會不一樣,這樣寫不具有良好的移植性,也不具有可讀性,是初學者的大忌。這麼做,只在賣弄或者某些極其特殊的場合才有用 例如要求編譯後檔案大小 極其強調效能等 因此建議lz還是以鍛鍊好紮實的基本功為優先。保證...