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...