链表.c(12) : error C2236: unexpected 'struct' 'star'是怎么回事啊,求高手帮忙。
#include<stdlib.h>#include<stdio.h>#include<conio.h>structstar{charname[12];charsex[2...
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
struct star
{
char name[12];
char sex[2];
int age;
char xingzuo[12];
struct star *nextstar;
}
struct star *creat(struct star *h);
void printstar(struct star *h);
main()
{
int n;
struct star *head;
head=NULL;
printf("请输入明星的个数:\n");
scanf("%d",&n);
printf("请输入明星的信息:姓名、性别、年龄、星座\n");
head=creat(head);
printstar(head);
}
struct star *creat(struct star *h)
{
struct star *p1,*p2;
p1=p2=(struct star*)malloc(sizeof(struct star));
if(p2!=NULL)
{
scanf("%s%s%d%s",&p2->name,&p2->sex,&p2->age,&p2->xingzuo);
p2->nextstar=NULL;
}
while(p2->name[0]!='#')
{
if(h==NULL)
h=p2;
else
p1->nextstar=p2;
p1=p2;
p2=(struct star*)malloc(sizeof(struct star));
if(p2!=NULL)
{
scanf("%s%s%d%s",&p2->name,&p2->sex,&p2->age,&p2->xingzuo);
p2->nextstar=NULL;
}
}
return h;
}
void printstar(struct star *h)
{
struct star *temp;
temp=h;
while(temp!=NULL)
{
printf("%s\t%s\t%d\t%s",temp->name,temp->sex,temp->age,temp->xingzuo);
temp=temp->nextstar;
}
} 展开
#include<stdio.h>
#include<conio.h>
struct star
{
char name[12];
char sex[2];
int age;
char xingzuo[12];
struct star *nextstar;
}
struct star *creat(struct star *h);
void printstar(struct star *h);
main()
{
int n;
struct star *head;
head=NULL;
printf("请输入明星的个数:\n");
scanf("%d",&n);
printf("请输入明星的信息:姓名、性别、年龄、星座\n");
head=creat(head);
printstar(head);
}
struct star *creat(struct star *h)
{
struct star *p1,*p2;
p1=p2=(struct star*)malloc(sizeof(struct star));
if(p2!=NULL)
{
scanf("%s%s%d%s",&p2->name,&p2->sex,&p2->age,&p2->xingzuo);
p2->nextstar=NULL;
}
while(p2->name[0]!='#')
{
if(h==NULL)
h=p2;
else
p1->nextstar=p2;
p1=p2;
p2=(struct star*)malloc(sizeof(struct star));
if(p2!=NULL)
{
scanf("%s%s%d%s",&p2->name,&p2->sex,&p2->age,&p2->xingzuo);
p2->nextstar=NULL;
}
}
return h;
}
void printstar(struct star *h)
{
struct star *temp;
temp=h;
while(temp!=NULL)
{
printf("%s\t%s\t%d\t%s",temp->name,temp->sex,temp->age,temp->xingzuo);
temp=temp->nextstar;
}
} 展开
展开全部
你定义的struct star{...}后少一个分号,如下注释的那一行
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
struct star
{
char name[12];
char sex[2];
int age;
char xingzuo[12];
struct star *nextstar;
} ///《《======================少分号!!
struct star *creat(struct star *h);
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
struct star
{
char name[12];
char sex[2];
int age;
char xingzuo[12];
struct star *nextstar;
} ///《《======================少分号!!
struct star *creat(struct star *h);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询