为了账号安全,请及时绑定邮箱和手机立即绑定

关于c语言 动态链表的数据取值问题 ?

关于c语言 动态链表的数据取值问题 ?

C
gangguo 2016-08-01 12:01:23
为什么p[1] 会取不到值  为什么。 
查看完整描述

2 回答

?
gangguo

TA贡献6条经验 获得超0个赞

struct weapon {

        int price;

        int atk;

        struct weapon * next;

};

struct weapon * create(){

        struct weapon * head;

        struct weapon * p1, *p2;

        int n=0;

        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();

        int i = 0;

        while(p[i].next != NULL){

                printf("Num%d::PRICE:%d,ATK:%d\n",i,p[i].price,p[i].atk);

                i++;

        }

        return 0;

}

查看完整回答
反对 回复 2016-08-03
?
ziom

TA贡献948条经验 获得超1109个赞

同学,把代码贴出来看看啊,不看代码鬼猜得到是哪出错了。。。

查看完整回答
反对 回复 2016-08-01
  • gangguo
    gangguo
    我发的之前和图片一起放出来的。怎么没有看到了。不好意思
  • 2 回答
  • 0 关注
  • 1428 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信