错哪了,各位前辈

来源:5-2 Linux C 动态数据结构-动态链表

溯源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);

}


写回答 关注

1回答

  • 叶小柒
    2017-01-07 21:13:28
    1. 结构体定义语句后面没有加分号

    2. scanf 和 printf 语句的数据输入之间没有加分隔符

    3. 建立链表时头指针head要为NULL

Linux C语言结构体

C语言的深入,帮助小伙伴们进一步的理解C语言,赶紧看过来

118294 学习 · 162 问题

查看课程

相似问题