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

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

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

2019-11-11 02:47:02
字體:
來源:轉載
供稿:網友

來自百度經驗(原文區別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()效果是一樣的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 忻州市| 红安县| 金寨县| 天气| 怀仁县| 德兴市| 玉田县| 迁安市| 龙井市| 普兰县| 安远县| 嫩江县| 尼木县| 灵山县| 山西省| 扎囊县| 凌海市| 陵川县| 石楼县| 无锡市| 尚志市| 青岛市| 和顺县| 阳春市| 多伦县| 邵武市| 甘德县| 策勒县| 榆林市| 秦皇岛市| 天柱县| 定州市| 南昌市| 通州市| 龙岩市| 西平县| 岳西县| 承德市| 阿巴嘎旗| 长垣县| 闵行区|