额,霍夫曼编码中,HCode[a][b]的a存放有几个字符,b存放每个字符的编码,但编码长度不一样的嘛。。。
然后后面又要求把求出的编码存放在一维数组buff[]中。。。
一共有a个字符哈?分别放在H[0]到H[a-1]的空间里。
不妨将每个字符编码长度存放在H[i][0],就是每一行的第一个空间里。编码放在H[i][1]到H[i][b-1]中。
明白我意思不?数组元素不都都是char型么,一个元素能存127呢,你的b应该没127大
啊?怎么弄,针对这个问题(3L的追问)
追答我给个简单的例子吧
#include
#include
#include
int main(void)
{
char s1d[80]={0};
char *s2d[]={"abc","d","ef","g",NULL,"hijklmn"};
int n=0;
int m=sizeof(s2d)/sizeof(s2d[0]);
while(n<m)
{
if(s2d[n]!=NULL)
strcat(s1d,s2d[n]);
n++;
}
printf(s1d);
system("pause");
return 0;
}