国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C語言gets()和scanf()函數

2019-11-11 04:00:29
字體:
來源:轉載
供稿:網友

來自百度經驗(原文區別2不正確,已更正):

C語言中scanf()和用gets()接收字符串的區別_百度經驗http://jingyan.baidu.com/article/ed15cb1b59a87d1be2698172.html

區別1:scanf()可以同時接受多個字符串,而gets()一次只能接受一個字符串。

 例如:scanf("%s %s",a,b);就可以同時給a和b兩個字符串指針賦值,getchar就不可以;

區別2:scanf()一定條件下能接受帶空格的字符串,而gets()能接受帶空格的字符串。

scanf("%c",a);函數遇到空格可以識別,但是"%s"格式不可以識別空格和換行,空格或者換行表示字符串輸入的結束;

gets()函數是可以識別空格的;

區別3:scanf()不能接受長度為0的字符串,會自動忽略開頭的所有空格,并且以空格、換行符、回車結束輸入。而gets()能接受長度為0的字符串,不會自動忽略開頭的所有空格或回車,并以回車結束。

補充:scanf()完一個整數后,如果要用gets(),需要先用getchar()接受整數后的換行符

結論:如果要讀入一個帶空格符的字符串時用gets()比較方便, 如非要用scanf(),必須手動給字符串的末尾賦值為'/0',如果不帶空格,那么gets()和scanf()效果是一樣的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芷江| 石门县| 烟台市| 曲松县| 阿坝县| 冷水江市| 明水县| 龙海市| 扎赉特旗| 夏河县| 松原市| 千阳县| 柳州市| 八宿县| 石柱| 金沙县| 潼关县| 平邑县| 永顺县| 蕲春县| 信阳市| 肃宁县| 京山县| 马尔康县| 怀集县| 柞水县| 唐山市| 浦县| 偃师市| 上蔡县| 蒲城县| 郎溪县| 贵阳市| 博白县| 定安县| 阳原县| 阿克苏市| 沾化县| 洛南县| 锡林浩特市| 奉新县|