dtLink.c
#include<stdio.h>
#include<malloc.h>
struct weapon{
int price;
int atk;
struct weapon *next;
};
struct weapon *create(){ //尾插法创建链表 返回值是链表的头指针
struct weapon *head;
struct weapon *p1,*p2;//一个用来指向链表当前创建的结点,一个指向上一个结点
int n;
p1=p2=(struct weapon *)malloc(sizeof(struct weapon));//开辟一个结点
scanf("%d,%d",&p1->price,&p1->atk);
head=NULL;//初始化链表为空
while(p1->price!=0){
n++;
if(n==1)head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct weapon *)malloc(sizeof(struct weapon));
scanf("%d,%d",&p1->price,&p1->atk);
}
p2->next=NULL;
return (head);
}
int main(){
struct weapon *p;
p=create();
while(p){
printf("%d,%d ",p->price,p->atk);
p=p->next;
}
return 0;
}
结果: