sirxiangsir 2015-11-17 03:42 采纳率: 3.7%
浏览 1477

下面的问题怎样改,请大家帮忙,我刚开始学,有些问题弄不明白

void BianMa(MyHuffmanNode MHN[],MyHuffmanNode* bm,int n)
{
    int start, c, p;  
    char *ch;  
    ch=(char *)malloc( n*sizeof(char) );  
    ch[n-1]='\0';  

    for(int i=1; i<=n; i++)//n个叶子节点  
    {  
        start=n-1;  
        c=i, p=MHN[i].father; //p为parent, c为child  

        while(p!=0)  
        {  
            start--;  
            if(MHN[p].lchild==c)  
                ch[start]='0';  
            else  
                ch[start]='1';  

            c=p; p=MHN[p].father;    //printf("\n123\n");  
        }  

        strcpy(MyHuffmanNode* bm->copy[i-1], &ch[start] );       
    }  
    free(ch);  

}  

strcy这里有错误怎么改啊,对数组的使用不太熟悉
错误信息: error: expected primary-expression before '*' token
请大家帮帮忙

  • 写回答

3条回答 默认 最新

  • shifenglv 2015-11-17 04:30
    关注

    strcpy是将字符串从一个字符串数组复制到另一个字符串数组。而不是将字符数组某个元素复制到另一个数组。传入的参数应该是目标数组的首地址个源数组的首地址。& ch[start]是某个元素的地址吧?关键是ch[start]之后的元素有没有0/?如果没有,那么复制是无法结束的。事实上,像strcpy等字符串操作函数,是从数组某个位置开始(可以不是首地址),直到遇到"0/"结束。如果数组没有"0/"那么就会出错。

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!