亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

我這樣第一個節點不單獨處理也行吧?請大神幫看一下,謝謝~

#include?<stdio.h>
#include?<stdlib.h>
struct?weapon{
????int?price;
????int?atk;
????struct?weapon?*?next;
};
//【需要一個創建鏈表的函數,返回值是鏈表的頭指針】
struct?weapon?*?create()
{
????struct?weapon?*head;
????struct?weapon?*p0?=?NULL,*p1;//3個指針都用來指向struct?weapon類型數據,head是頭指針,p0p1指向鏈表上一個節點和當前新創建的節點。
????int?n=0;//記錄當前節點個數
????head?=?NULL;//一開始鏈表不存在,置空,然后下面進入大批量輸入數據的過程
????while(n>=0)
????{
????????n++;
????????//需要開辟一個新的動態存儲區,把這個的地址載給p1
????????p1=(struct?weapon*)malloc(sizeof(struct?weapon));
????????scanf("%d,%d",&p1->price,&p1->atk);//開辟后輸入數據
????????if(p1->price==0)break;
????????if(n==1)
????????{
????????????head=p1;
????????}else{
????????????p0->next=p1;}
????????p0=p1;//保留p1當前所指向的的地址至p0
????????????}
????p0->next=NULL;//將最后一個節點的指針置空
????return(head);
}

int?main()
{
????struct?weapon?*p;//創建一個結構體指針
????p=create();//調用create函數p成為鏈表的頭指針
????printf("%d,%d\n",p->price,p->atk);//打印第一個節點的信息,p默認是指向第一個節點的
????return?0;
}


正在回答

1 回答

可以,但是你必須從下一個節點開始

1 回復 有任何疑惑可以回復我~
#1

后會無期_ 提問者

從下一個節點開始是什么意思呢?我這個也是從第一個節點開始的呢
2017-06-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Linux C語言結構體
  • 參與學習       118437    人
  • 解答問題       166    個

C語言的深入,幫助小伙伴們進一步的理解C語言,趕緊看過來

進入課程

我這樣第一個節點不單獨處理也行吧?請大神幫看一下,謝謝~

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號