1樓:匿名使用者
這是因為 scanf()的原因,它只是取出第一個 " " (空格) 前面的字元。(gets() 取出直到碰到 回車 )。
當你輸入"a b c d" 然後回車時,scanf( "%s", string ) 只是把 "a" 取走,而" b c d"+ 回車 還留在標準輸入輸出的 快取裡, gets( string ) 就直接取出來,所以就不會等你輸入了。
要不做下面測試:
#include
void main( void )
解決你的上面的方法太多了。。。就不再說了。
2樓:匿名使用者
因為第一次輸入,執行scanf後標準輸入中還剩一個換行符沒有被讀取出來,gets讀取時碰到換行符就直接返回了,只讀取到一個空的字串,改成這樣就行了,gets前把標準輸入中內容清空
printf( "enter the same sentence with gets: " );
fseek(stdin,0,seek_end);
gets( string );
3樓:匿名使用者
樓上說的很正確。。
用下面的fflush函式能更清楚一些。
printf( "enter the same sentence with gets: " );
--> fflush(stdin); //清除緩衝區gets( string );
4樓:匿名使用者
改了肯定不一樣,a是二維陣列,a表示的是第一行的地址,實際上可以理解為指標陣列a[n]的陣列名,n表示的是行,*a表示的是第一行第一列的地址,可以理解為陣列a[0][n]的陣列名,而返回型別為指標,故要指向*a,即第一行第一列的地址才行,如果同時去掉*號,返回型別為int型,但是return a中的a是int型的指標陣列!但是這個函式沒有必要返回值,直接用void
解釋一下下面的詩歌,解釋一下下面的詩歌
歌詞 長安憶 音訊怪物的 訴離別 從長安出發去往邊地,對家鄉長安深深的依戀,告別親人,遙遙不知歸期。不知道這首詞寫的是否工整,也不知道具體是什麼意思。但我聽出了惆悵 無奈 孤獨 無法抹去的回憶 是貞姐的歌詞,滿懷離別,男女離別羅 誰幫我解釋一下下面這首詩的意思?清水白石下沙寒 寫景的,清澈的流水裡有...
誰能幫我解釋一下下面的C程式,C語言誰能幫我解釋一下這個程式裡for迴圈裡面每句的意思?
include define m sizeof unsigned int 8 定義常量來儲存sizeof unsigned int 8 其實為了輸入簡單點 int trans unsigned n,int d,char s buf i 0 dowhile n for j 0 s j buf i 0 ...
誰能幫我解釋一下下面的服裝用語急
單針 single needle3 8 雙針 3 8 double needle三針 triple needleedge stitching 間邊線 on seam dbl ndl dbl 雙針 ndl 單針 seam 縫 flatlock seams 一種使接縫平整貼近身體的接縫技術1 4 sin...