数据结构中的C语言。 我定义了一个结构体MHNode,其中有一项是char data; 然后在主函数中,

我定义了一个结构体数组MHNodeh[maxsize],当我要给chardata赋值的时候,有问题了,我要赋值的对象是一些单词,长短不一,比如h[0].data=“the... 我定义了一个结构体数组MHNode h[maxsize],当我要给char data 赋值的时候,有问题了,我要赋值的对象是一些单词,长短不一,比如 h[0].data=“the";这样是错的呢,然后我该怎么解决呢?
#include "stdio.h"
#include"string.h"
#include"stdlib.h"
#define maxsize 20
typedef struct
{
char cd[maxsize];
int start;
}HCode;

typedef struct
{
char data;
double weight;
int parent;
int lchild;
int rchild;
}HTNode;

void main()
{

HTNode ht[maxsize];
HCode hcd[maxsize];
strcpy( ht[0].data ,'The');
ht[1].data ='of';
ht[2].data ='a';
ht[3].data ='to';
ht[4].data ='and';
ht[5].data ='in';
ht[6].data ='that';
ht[7].data ='he';
ht[8].data ='is';
ht[9].data ='at';
ht[10].data ='on';
ht[11].data ='for';
ht[12].data ='His';
ht[13].data ='are';
ht[14].data ='be';
error C2664: 'strcpy' : cannot convert parameter 1 from 'char' to 'char *'
warning C4305: '=' : truncation from 'const int' to 'char'
展开
 我来答
ade1986
2011-05-10 · TA获得超过107个赞
知道答主
回答量:133
采纳率:0%
帮助的人:62.9万
展开全部
data用char*类型,或者用string类型,char只能是单个字符的,不能用作字符串。

char类型赋值只能这样 char p='a';

char*可以这样:char* p = "abc";

string也可以: string str = "abc";
匿名用户
2011-05-10
展开全部
首先应该是char *data吧
然后字符串之间的赋值用字符串拷贝函数strcpy
否则他会报 不能将const什么转化 的那个错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
westerngoat
2011-05-10 · 超过17用户采纳过TA的回答
知道答主
回答量:41
采纳率:100%
帮助的人:35.7万
展开全部
HTNode中将char data改为char data[maxsize];这样就没有问题了。另外单引号是字符吧,字符串要用双引号啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式