猿问

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



为什么p[1] 会取不到值  为什么。 


gangguo
浏览 1432回答 2
2回答

gangguo

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;}

ziom

同学,把代码贴出来看看啊,不看代码鬼猜得到是哪出错了。。。
随时随地看视频慕课网APP
我要回答