各位前辈,错那了

#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
浏览 968回答 1
1回答

onemoo

最大的问题是:一开始struct weapon的定义的尾大括号后应该有分号。还有一些小问题(编译器可能会警告,但不会被视为error):stdio.h 是系统库的头文件,应该用<>括起来。main函数的返回类型是int,不要写成void。
打开App,查看更多内容
随时随地看视频慕课网APP