C語言中gets函式輸入字串,不能放在迴圈中重複輸入

2021-04-22 02:21:00 字數 937 閱讀 1042

1樓:凝__若

#include

#include

int main()

return 0;

}scanf輸入後那個回車被gets(str)接收了內,所以下次容

遇到gets就不再等待你輸入,可以用getchar()把scanf輸入後的回車接收就好了。 我執行過的,給最佳答案哦!

2樓:君子不器

每次使用了輸入輸出函式後,可以直接使用

fflush(stdin)//清空緩衝區

這樣就可以避免上次的操作影響下次的輸入輸出。

3樓:匿名使用者

if(str[0]=='f') break;

跳出迴圈了吧?!

c語言中,用gets()函式接收字串,會在最後自動加上字串結束記號'\0'嗎?

4樓:

gets,scanf都會在末尾加上\0的,要不然字串就沒法結束了;

他們的不同在於,scanf碰到緩衝區裡面的空字元(空格,tab,回車,換行就會截斷並新增\0),而gets是要等回車才截斷字串並新增\0的

比如用輸入字串:abcdefg hijk回車用scanf的話,會得到abcdefg,而gets則是:abcdefg hijk

5樓:匿名使用者

gets()函式用來從標準輸入裝置(鍵盤)讀取字串直到換行符結束,但換行符會被丟棄,然後在末尾新增'\0'字元。

c語言迴圈輸入字串到陣列時會替換掉上一次輸入陣列的資料嗎?

6樓:種燒餅的怪叔叔

再次輸入的時候會覆蓋原來陣列的內容的。

不過額外說下,gets是不會有eof的返回值的,只有null,理論上這個程式是死迴圈。

c語言中用scanf函式輸入字串後用strcmp函式比較

那個抄,字串是襲 有結尾符的啊 bai。長du度應該 zhi宣告為3.int main 字元陣列不能用這bai樣du 的方式賦值,b ab 並且字元數zhi組的長dao度版要比,實際長度 1,因為系統會在數權組內部自動加一個 0 作為字串的結束標誌,它佔一個空間,你如進行賦值的話用 可以用gets和...

跪求c語言字串處理函式,跪求 c語言字串 7個處理函式

1.字串連線函式 strcat 原型 char strcat char str1,const char str2 2.字串查詢函式 strchr 原型 char strchr const char str1,const char str2 3.字串比較函式 strcmp 原型 int strcmp ...

c語言中清空字串的庫函式,C語言中清空字串的庫函式

字串函式 在標頭檔案中定義了兩組字串函式。第一組函式的名字以str開頭 第二組函式的名字以mem開頭。只有函式memmove對重疊物件間的拷貝進行了定義,而其他函式都未定義。比較類函式將其變數視為unsigned char型別的陣列。1.strcpy include char strcpy char...