哪里出错了??

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

define_ray

2016-01-24 22:35

56a4e0c500018e1405000134.jpg

56a4e0c5000108bd05000661.jpg

#include <stdio.h>

struct weapon{
  int price;
  int atk;
  struct weapon * next;
};

int main()
{
    struct weapon a,b,c, *head;
    a.price = 100;
    a.atk = 100;
    b.price = 200;
    b.atk = 200;
    c.price = 300;
    c.atk = 300;
    head = &a;
    a.next = &b;
    b.next = &c;
    c.next = NULL;

    struct weapon *p;
    while(p!=NULL){
        printf("%d,%d\n",p->price,p->atk);
        p=p->next;
    }

    return 0;
}


请问哪里导致的错误??。。。

写回答 关注

4回答

  • 慕后端9788028
    2016-10-05 11:27:17

    如果你不想使用P,可以直接用head来代替p,我试过结果一样

  • 慕后端9788028
    2016-10-05 11:20:35

    p要让其指向head,不然谁知道你这个p 是 干嘛的呢


  • 落叶上的尘埃
    2016-01-25 21:03:04

    要让head指向p

  • 落叶上的尘埃
    2016-01-25 21:02:27

    p=head;

Linux C语言结构体

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

118294 学习 · 162 问题

查看课程

相似问题