溯源1
2017-01-06 14:00
/* Note:Your choice is C IDE */
#include "stdio.h"
#include<malloc.h>
struct weapon{
int atk;
int price;
struct weapon * next;
}
struct weapon*create()//空格不是问题
{
int a=0;
struct weapon *p1,*p2,*head;
p1=p2=(struct weapon*)malloc(sizeof(struct weapon));
scanf("%d%d",&p1->atk,&p1->price);
while(p1->atk!=0)
{
a++;
if(a==1)//==
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct weapon*)malloc(sizeof(struct weapon));
scanf("%d%d",&p1->atk,&p1->price);//指针用->
}
p2->next=NULL;
return (head);
}
void main()
{
struct weapon *p;
p=create();
printf("%d%d",p->atk,p->price);
}
结构体定义语句后面没有加分号
scanf 和 printf 语句的数据输入之间没有加分隔符
建立链表时头指针head要为NULL
Linux C语言结构体
118294 学习 · 162 问题
相似问题