main() 函数是瞎写的。。。 #include <stdio.h> typedef struct _HuffmanNode { char charactor; int weight; int parent,left,right; // 为什么要用unsigned呢? }HuffmanNode,*HuffmanTree; typedef char** HuffmanCode; void recognizeANewCharactor(HuffmanTree pCode) { printf("%c",pCode->charactor); // 识别出来的字符 } void HuffmanDecoding(char* theCode, HuffmanTree root) { char* pCode = theCode; int pNum = 0; HuffmanTree pRoot = root; while (*pCode != '/0') { if (pRoot->left == 0) // 由于Huffman树一定是严格的(正则的)二叉树,所以只判断左右中的一个就行了 { recognizeANewCharactor(pCode); pRoot = root; // A new start } if (pCode == '0') // Decoding { pNum = pRoot->left; pRoot = root[pNum]; } else { pNum = pRoot->right; pRoot = root[pNum]; } ++pCode; } } int main() { int a=1,b=2; swap(a,b); printf("%d/t%d",a,b); return 0; }