永发信息网

C语言 谈浩强 第九章9.10的原题

答案:2  悬赏:0  手机版
解决时间 2021-02-04 07:34
谈浩强第四版书上的
#include
#include
#define LEN sizeof(struct Student)
struct Student
{long num;
float score;
struct Student *next;
};
int n;
struct Student *creat()
{
struct student *head;
struct Student *p1,*p2;
n=0;
p1=p2=(struct Student *) malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Student*)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}
void print(struct Student head)
{struct Student *p;
printf("\nNow,These %d records are:\n",n);
p=head;
if(head!=NULL)
do
{printf("%ld %5.1f\n",p->num,p->score);
p=p->next;
}while(p!=NULL);
}

void main()
{
struct Student* head;
head=creat();
print(head);
}

错误提示如下,求解:C:\Documents and Settings\jsj\桌面\ex.9.10.c(21) : warning C4133: '=' : incompatible types - from 'struct Student *' to 'struct student *'
C:\Documents and Settings\jsj\桌面\ex.9.10.c(28) : warning C4133: 'return' : incompatible types - from 'struct student *' to 'struct Student *'
C:\Documents and Settings\jsj\桌面\ex.9.10.c(33) : error C2115: '=' : incompatible types
C:\Documents and Settings\jsj\桌面\ex.9.10.c(34) : error C2088: '!=' : illegal for struct
C:\Documents and Settings\jsj\桌面\ex.9.10.c(45) : error C2115: 'function' : incompatible types
C:\Documents and Settings\jsj\桌面\ex.9.10.c(45) : warning C4024: 'print' : different types for formal and actual parameter 1
谢谢
最佳答案
//只改过两个地方!
#include
#include
#define LEN sizeof(struct Student)
struct Student
{long num;
float score;
struct Student *next;
};
int n;
struct Student *creat()
{
struct Student *head;//S要大写!S要大写!S要大写!S要大写!
struct Student *p1,*p2;
n=0;
p1=p2=(struct Student *) malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;
p1=(struct Student*)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}
void print(struct Student *head)//书上有错啊!书上有错啊!书上有错啊!书上有错啊!
{struct Student *p;
printf("\nNow,These %d records are:\n",n);
p=head;
if(head!=NULL)
do
{printf("%ld %5.1f\n",p->num,p->score);
p=p->next;
}while(p!=NULL);
}

void main()
{
struct Student* head;
head=creat();
print(head);
}
全部回答
修改两个地方,就编译通过了。 第一:creat函数里的第一个语句中,Student的S是大写; 第二:print函数里的参数应该为struct Student *head 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
树皴儿的意思是什么啊?知道的请说下!
整体法的适用条件能看做整体的两个物体必须有
今天招商银行给我发了条短信,内容如下~~~
LSM是什么意思啊?
娃哈哈大桶水(宁国二路水站店)地址在什么地方
怎样理解《茶馆》对三个时代的表现
胃不好,吃什么都想吐怎么办?
恒达奎楼商业街停车场我想知道这个在什么地方
如图是人体部分生理活动过程示意图,请据图回
緑桐的意思是什么啊?知道的请说下!
丛台医药商场地址在什么地方,想过去办事
牛的早期胚一般指胚胎发育的什么和什么阶段
(我是男的)婚检的时候验血,尿,肺,拿着给
娃哈哈大桶水(四方宜阳路水站)怎么去啊,我要
河海大学的MBA复试线何时能出?如果没有能被
推荐资讯
急求流水别墅剖面图透视图
连云港顺驰物流有限公司地址在什么地方,想过
什么叫驴友
鳄龟长大了的话怎么办
火花舞蹈艺术中心(南区店)地址在什么地方,我
禹贡的意思是什么啊?知道的请说下!
如何在信息课中培养学生的信息道德意识 戴云
北京万事卡丹商贸有限公司怎么样?
花果山鲜花铺子地址有知道的么?有点事想过去
荣原干洗店怎么去啊,我要去那办事
从大足到重庆网上订票,大足老车站可以取票不
We were amazed to watch fire break out on
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?