中易网

expected 'struct context *' but argument is of type 'struct context'

答案:2  悬赏:30  
解决时间 2021-04-27 03:55
不知道为什么add函数出错,还有底下else p=(struct context*)add(*p);也错,出错信息如下:
incompatible type for argument 1 of 'add'
expected 'struct context *' but argument is of type 'struct context'

#include
#include
struct context
{
struct context *p1;
int n;
char s[10];
int score;
struct context *next;
};

struct context * crea()
{
struct context * p;
p=(struct context *)malloc(sizeof(struct context));
return (p);
}

struct context *add(struct context* p)
{
struct context *p1;
p1=(struct context *)malloc(sizeof(struct context));
p->next=p1;
p1->next=NULL;
return (p1);
}

int main()
{
int n;
struct context * start;
printf("1.创建链表%t2.显示学生信息%t3.学生成绩修改%t4.退出");
scanf("%d",&n);
do {
printf("\n输入序号:");
static struct context* p;
switch(n)
{
case 1:
{
static int n=1;char a;
do
{
if(n==1)
p=crea();
else p=(struct context*)add(*p);
printf("\n输入学生序号:");
scanf("d",p->n);
printf("\n输入学生姓名:");
scanf("%s",p->s);
printf("\n输入学生成绩:");
scanf("%d",p->score);
n++;
printf("a.继续输入%tb.停止输入");
scanf("%c",&a);
}while(a=='a'); break;
}
case 2:{
struct context *p1;
printf("学号 姓名 成绩 ");
p1=start;
while(p1!=NULL)
{
printf("%d %s %d ",p1->n,p1->s,p1->score);
p1=p1->next;
}
} break;

case 3:{
int n;
struct context *p1=start;
printf("输入学生学号:");
scanf("%d",&n);
while((p->n)!=n&&p1!=NULL)
if(p!=NULL)
p1=p1->next;
if(p1!=NULL)
{
printf("修改后成绩:");
scanf("%d",p1->score);
}
else printf("无此考生");

} break;

case 4: exit(0); break;

}
}
while(n!=4);
return 0;}
最佳答案
struct context *add(struct context* p)//此为函数声明,形参为指针类型
错误的调用 else p=(struct context*)add(*p);// p已是指针类型 static struct context* p;
正确调用 else p=(struct context*)add(p);//去掉*
不懂接着问,改了至少编译通过,你具体业务逻辑我就不知道了
全部回答
同问。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
想自驾游从广州到北京,时间不限,沿途有什么
SX210摄像时是否可以变焦
大良边度有点卡批发
pt-698的小灵通一打就不能取消是为什么???
小雨文教我想知道这个在什么地方
蒙奇D希特勒的背景音乐
憨老头凉皮育秀街店我想知道这个在什么地方
东北2 50碧影拳套 值多少游戏币或者RMB?
关于冒名顶替被宿管逮住的检讨书
请问下 三亚千古情 那个美人鱼表演的 背景音
大龙明仗如何点亮
飞发走丝(博艺名店)地址有知道的么?有点事想
有那些明星在北京开店?请告知具体地址!
为什么一到发CF点是时候要的要死?
丽水市莲都区有哪些艺术培训班啊?
推荐资讯
电脑关机关不了、
(炫舞)为什么我连P总连不上啊
FS DPS 怎么才能打到2000以上
AD服务器是什么
有活动得DNF免费得洗点水吗?比如开了超Q,会
仰卧起坐怎么越做肚子越大?
为什么赛车的轮毂都比普通车的大
快要毕业了我是山东省烟台的学生请问谁知道烟
每天完任务给什么
星河战队动画版的下载地址达人给个
物流术语!有那些?
我再淘宝开了一个店铺 怎么才能让人很快就能
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?