#include<malloc.h>
#include<stdio.h>
typedef struct sys{
int size;
int musem;
struct sys *next;
}node;
node *create(){
node *head,*p,*r;
int x,y;
head=r=(node *)malloc(sizeof(node));
printf("please input the num!");
scanf("%d",&x);
r.musem=x;
r.size=1;
while(y!=0){
p=(node *)malloc(sizeof(node));
scnaf("%d",&y);
p.musem=y;
p.size=r.size+1;
r.next=p;
r=p;
}
r.next=NULL;
return *head;
}
main(){
node *head,*p;
char a;
int c,i;
head=create();
printf("println all the num[y/n]?\n");
p=head;
scanf("%c",&a);
if(a=="y")
{
while(p){
println("size is%d\n;musem is%d\n",p.size,p.musem);
p=p.next;
}
}
else
{
printf("please input the num!\n");
scanf("%d",&c);
for(i=0;i<c;i++){
if(i==c){
p=p.next;
}
else
printf("size is %d\n,musem is %d\n",p.size,p.musem);
}
}
}这是编译的报错,我为了方便就在windows上安装了个gcc编译器,每次写的线性表都会出错,这是线性表的链表拜托哪位高手帮我解答一下
1 回答
已采纳
onemoo
TA贡献883条经验 获得超454个赞
好多错误......其实报错中都提示了:
14 15 19 20 21 24 38行: 你定义p r为指针,访问指针所指对象的成员用 -> ,而不是 .(dot)
18行: scanf拼错了
25行: head是指针, *head解引用为node对象了,而函数要求的返回值类型就应该是指针。将head直接返回即可。
35行: a是char型,而"y"是字符串,字符和字符串无法比较,应该使用单引号来表示字符 'y'
- 1 回答
- 0 关注
- 1705 浏览
添加回答
举报
0/150
提交
取消