1樓:超級賽亞小熊人
指標應用的不對。
p->next=p->next->next; 這個地方,應該改為p = p->next;
因為現在p->next->next指標為空,所以p->next也被賦空,所以第乙個迴圈結束時p->next為空。
#include ""
#include ""
struct link
int n;
link *next;
link *head,*p;
int i,num;
int main()
scanf("%d",&num);
p=head=(link *)malloc(sizeof(link));
for (i=1;i<=num;i++)
p->next=(link *)malloc(sizeof(link));
scanf("%d",&p->next->n);
p->next=p->next->next;
p=p->next;
p=head;
for (i=1;i<=num;i++)
printf("%d",p->next->n);
p->next=p->next->next;
p=p->next;
return 0;
2樓:網友
貌似->指向的應該是個指標吧?
結構體中int n;定義的是個變數不是指標。
試著把p->next->n改成(p->next).n看看。
我也不確定,現在手頭的電腦沒有編譯環境不能幫你驗證……
3樓:網友
#include ""
#include ""
struct link
int n;
link *next;
link *head,*p;
int i,num;
int main()
scanf("%d",&num);
p=head=(link *)malloc(sizeof(link));
for (i=1;i<=num;i++)
p->next=(link *)malloc(sizeof(link));
scanf("%d",&p->next->n);
p->next=p->next->next; /這句的問題,p->next->next都沒分配記憶體,怎麼能讓p->next指向它呢,前面的定義也有點問題。
p=head;
for (i=1;i<=num;i++)
printf("%d",p->next->n);
p->next=p->next->next;
return 0;
4樓:
在讀入結束後沒有p->next=null;
在顯示的時候也沒有判斷p->next是否為空,所以你的程式錯 了。
這樣的配置玩魔獸世界為什麼還不行
cpu 顯示卡差了些 想建議你換amd雙核cpu,但估計你主機板不支援雙核要麼你就狠點心,把主機板 cpu 顯示卡全換了。不行的話就換個amd單核3800 顯示卡換個 n系的 8600gt 256 512視訊記憶體就ok了。一共600來塊rmb可以搞定了。換個毛cpu 我的 amd2800 記憶體5...
剛剛帶上牙套,疼的我不行,為什麼會這樣
我摘牙套一年多了,你想用鐵絲強行改變你牙齒原來位置能不疼嗎?你得適應一二個月。這個過程可以歷練你 剛帶上牙套後,一咬牙就疼是什麼原因 你好,牙套加上材料粘結在牙面上,會感覺不適。但是這種感覺持續時間不會太長。如果產生疼痛是由於粘結材料在粘結凝固時使咬合關係改變,產生咬合高點,長期刺激會差生疼痛。長此...
C語言單向迴圈連結串列,輸出的最後元素為什麼是垃圾值,求大神幫我改動一下,真心感謝
void displist linklist l printf n 輸出乙個新dao 行符。求c語言大神解一下這道簡單的連結串列題 10 description 給定一串數字,用連結串列結構進行儲存。然後給定針對該連結串列的若干插入操作,要求將執行插入操作後的結果輸出。input 第一行 輸入乙個整...