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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于C語言線性表編譯出錯的問題!

關于C語言線性表編譯出錯的問題!

C
kkkbbb 2015-09-21 21:16:58
#include<malloc.h> #include<stdio.h> typedef?struct?sys{ int?size; int?musem; struct?sys?*next; }node; node?*create(){ node?*head,*p,*r; int?x,y; head=r=(node?*)malloc(sizeof(node)); printf("please?input?the?num!"); scanf("%d",&x); r.musem=x; r.size=1; while(y!=0){ p=(node?*)malloc(sizeof(node)); scnaf("%d",&y); p.musem=y; p.size=r.size+1; r.next=p; r=p; } r.next=NULL; return?*head; } main(){ node?*head,*p; char?a; int?c,i; head=create(); printf("println?all?the?num[y/n]?\n"); p=head; scanf("%c",&a); if(a=="y") { while(p){ println("size?is%d\n;musem?is%d\n",p.size,p.musem); ???????p=p.next; } } else { printf("please?input?the?num!\n"); scanf("%d",&c); for(i=0;i<c;i++){ if(i==c){ p=p.next; } else printf("size?is?%d\n,musem?is?%d\n",p.size,p.musem); } } }這是編譯的報錯,我為了方便就在windows上安裝了個gcc編譯器,每次寫的線性表都會出錯,這是線性表的鏈表拜托哪位高手幫我解答一下
查看完整描述

1 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

好多錯誤......其實報錯中都提示了:

  1. 14 15 19 20 21 24 38行: 你定義p r為指針,訪問指針所指對象的成員用 -> ,而不是 .(dot)

  2. 18行: scanf拼錯了

  3. 25行: head是指針, *head解引用為node對象了,而函數要求的返回值類型就應該是指針。將head直接返回即可。

  4. 35行: a是char型,而"y"是字符串,字符和字符串無法比較,應該使用單引號來表示字符 'y'

查看完整回答
1 反對 回復 2015-09-21
  • kkkbbb
    kkkbbb
    非常感謝!
  • onemoo
    onemoo
    對了,看到你用的是gcc。 在編譯時最好加上 -Wall 參數,即 gcc -Wall xxx.c 。這樣可以將所有的警告一并提示出來,能幫助你發現代碼中可能的錯誤隱患。 最好追求代碼不僅沒有錯誤,而且也沒有任何警告。
  • 1 回答
  • 0 關注
  • 1761 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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