字串處理之gets與scanf s 的區別

2021-10-04 21:36:32 字數 305 閱讀 1870

一、快速了解

1.scanf( )函式和gets( )函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串"hi hello",則應該使用__gets__函式。

2.gets可以接收空格,回車結束,gets(s)是輸入一行;而scanf(%s)遇到空格、回車和tab鍵都會認為輸入結束,所以它不能接收空格。

char string[15]; gets(string); /*遇到回車認為輸入結束*/

scanf("%s",string); /*遇到空格認為輸入結束*/

所以在輸入整行時,應該使用gets輸入。

字串處理之gets與scanf s 的區別

1.scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。2.gets可以接收空格,回車結束,gets s 是輸入一行 而scanf s 遇到空格 回車和tab鍵都會認為輸入結束,所以它不能接收空格。char stri...

字串處理之gets與scanf s 的區別

1.scanf 函式和gets 函式都可用於輸入字串,但在功能上有區別。若想從鍵盤上輸入字串 hi hello 則應該使用 gets 函式。2.gets可以接收空格,回車結束,gets s 是輸入一行 而scanf s 遇到空格 回車和tab鍵都會認為輸入結束,所有它不能接收空格。char stri...

字串處理函式fgets()和gets()

scanf 一次只能接受乙個單詞,不能接受一行 gets 接受一整行的輸入,輸入多少就讀取多少,但有可能輸入的長度和要賦值的變數目標不一致而導致緩衝區溢位,這也就意味著它可能會改變不屬於當前程式所在空間的資料,一次在新標準c11中已經被廢棄不用了,不提倡使用gets gets s 新標準c11中的可...