Scanf函數

Scanf函數
1.功能:接受用戶從鍵盤中鍵入的數據,並按照格式控制符的要求進行類型轉換,再送到地址表列中對應的變量存儲單元

2.一般形式:scanf(“輸入格式串”,輸入項地址表列);

3.返回類型:scanf函數返回成功讀入的數據項數,讀入數據時出現錯誤或者遇到了“文件結束”則返回EOF。

4.輸入格式串:

格式串 含義 備註 延伸1 延伸2 延伸3
%d int %ld long int %md m爲指定的輸出字段的寬度 %.nd n爲指定的輸出實數的小數位
%f float %lf double
%o 八進制int
%x 十六進制int
%u unsigned-無符號整形 %lu long unsigned-無符號長整形
%e 以指數形式輸出實數
%g 根據數值的大小,自動選f格式或e格式輸出實數 選擇輸出是佔寬度較小的一種,不輸出無意義的零。
%c char-一個字符
%s string-一個字符串
%p pointer-指針的值-十六進制整形- 相當於0x%x,常用在變量地址的輸出
%[scanfset] 功能見下方

5.scanf函數輸入詳解:
(1)用scanf函數輸入字符串,以及scanf和gets函數的區別:
①char string[];scanf(“%s”,string);//輸入字符串到字符數組,遇到回車鍵,Tab,空格輸入結束。
②char string[];gets(string);//可以接收空格,tab,遇到回車鍵結束。
(2)scanfset 有兩種形式:
①scanf(“%[bulabula~]”,str);//一種是以非 “^” 字符開頭的 scanset , 表示在讀入字符串時將匹配所有在 scanfset 中出現的字符,遇到非scanfset 中的字符時輸入就結束;
②scanf(“%[^bulabula~]”,str);//另外一種形式是以 “^” 字符開頭的scanfset ,表示在讀入字符串時將匹配所有不在scanfset 中出現的字符,遇到scanfset 中的字符輸入就結束。
比如:scanf(“%[^\n]”,str);//表示遇到回車鍵時字符串輸入結束,可接收空格等特殊字符。

6.注意事項:
①scanf函數在輸入過程中如遇格式錯誤會立即停止輸入。

引用:格式字符-百度百科,《計算機程序設計-C語言版》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章