这是我编写的一段代码,它在链接列表中添加了人员的姓名。当我尝试显示这些姓名时遇到了问题。我的代码不是打印姓名,而是打印垃圾字符代码...
struct node
{
char name1[5];
struct node *link;
};
void add(struct node **q,char *name)
{
struct node *temp,*r;
if(*q==NULL)
{
temp=malloc(sizeof(struct node));
*temp->name1=name;
temp->link=NULL;
*q=temp;
count++;
}
else
{
count++;
temp=*q;
while(temp->link !=NULL)
temp=temp->link;
r=malloc(sizeof(struct node));
*r->name1=name;
r->link=NULL;
temp->link=r;
}
}
void display(struct node *q)
{
while(q!=NULL)
{
printf("%s",q->name1); //it prints junk characters
q=q->link;
}
}
int main()
{
struct node *p;
p=NULL;
add(&p,"Alice");
add(&p,"Cat");
add(&p,"Pawan");
add(&p,"BoB");
display(p);
getch();
return 0;
}