c語言單連結串列問題這個程式執行有問題

2022-07-03 03:35:18 字數 675 閱讀 3133

1樓:

主要是scanf的問題,這個函式作為輸入並不太好用。

scanf("%d",&i);

這裡輸入之後,讀取了i的值,但是從鍵盤輸入的回車鍵沒處理,還在緩衝區中,下次再呼叫gets函式的時候就讀取了緩衝區的回車符,所以第二次gets(name)獲取的就是一個空字串,然後程式就結束了。

解決辦法就是在scanf語句後面加上fflush(stdin);把,緩衝區清空,就能保證下次輸入是你想要的了。就是這樣:

scanf("%d",&i);

fflush(stdin);

注意每個scanf後面都要這樣。

所以其實書上那麼教,實際程式設計卻不怎麼用這個函式。

2樓:

第二次 gets的時候 name的值有問題了 導致strlen(name)為0 所以就退出了 gets不是這麼用的,gets已被拋棄 請使用fgets

#include

#include

struct node

;typedef struct node silly;

silly *miss()

pr->next='\0';return pt;

}miaa(silly *head)

while(p!='\0');

}} main()

C語言連結串列邏輯問題

tail next null 本身沒有錯錯的是你的print 函式裡的while表示式while box next null 應該改為 while box null 只有box不為null,才能繼續遍歷,才有box next chuangjian 函式沒什麼大問題 問題主要在print 函式裡 vo...

c語言程式問題,C語言程式問題?

1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...

C語言建立帶頭結點的單連結串列,C語言建立帶頭結點的單連結串列

單連結串列的生成有2種方式 頭插法和尾插法。1 頭插法 函式名稱 linklist createlinklisthead 函式功能 利用頭插法建立連結串列 參 數 無 返 回 值 建立完連結串列後的連結串列頭結點 說 明 無 extern linklist createlinklisthead re...