同样的一段代码,在VC6上运行(见图1)和在Codeblocks上运行(见图2)结果有差异,而在Codeblocks上调试找问题时,结果却又是正确的了,不知问题出在哪里?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXWEIGHT 100
typedef struct
{
int weight;
int parent,lchild,rchild;
}HTNode,*HuffmanTree;
typedef char * * HuffmanCode;
void HuffmanCoding(HuffmanTree *HT,HuffmanCode *HC,int *w,int n);
void HuffmanCoding2(HuffmanTree HT,int n,HuffmanCode *HC);
void Select(HuffmanTree H,int n,int *s1,int *s2);
int main()
{
int n;
printf("有多少种字符:");
scanf("%d",&n);
int *w,i;
w=(int *)malloc(sizeof(int));
for(i=0;i<n;i++)
{
printf("输入第%d个字符的权重:",i+1);
scanf("%d",&w[i]);
}
HuffmanTree *HT;
HT=(HuffmanTree *)malloc(sizeof(HuffmanTree));
HuffmanCode *HC,*HC2;
HC=(Huffma