C語言 scanf 總結

2021-06-20 01:25:18 字數 1081 閱讀 2590

問題:

對於我這種c語言菜鳥程式設計師來說,一碰到輸入第一想到的就是scanf,正是因為這樣在scanf裡吃了很多虧。好吧,這裡幫自己總結一下:

函式原型:

1

intscanf(constchar*format, ... );

scanf()函式是格式化輸入函式,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。

其呼叫格式為: scanf("《格式化字串》",《位址表》);

函式 scanf() 是從

標準輸入流 stdio 中讀內容的通用

子程式,可以讀入全部固有型別的資料並自動轉換成機內形式。

1.問題一 本意是想輸入兩個字元,然後顯示出來,結果輸入g,然後回車,再想輸入下乙個字元時,程式執行結束。

#include

int main() 

結果可以看到ch1吸收了g,ch2吸收了回車。

changjin.tong@sajs151-veriton-m288:~$ ./scanf              g

g,changjin.tong@sajs151-veriton-m288:~$ 

2.問題二  把格式化從%c改為%s,結果就不一樣了。

#include

#include

int main()

結果:changjin.tong@sajs151-veriton-m288:~$ ./scanf              gg

mmgg,mm

changjin.tong@sajs151-veriton-m288:~$ 

總結:1.程式的輸入都建有乙個緩衝區,即輸入緩衝區。一次輸入過程是這樣的,當一次鍵盤輸入結束時會將輸入的資料存入輸入緩衝區。

2.接收字元時,回車也會被送到輸入緩衝區,被獲取緩衝區字元的函式取走。

3.接收字串時空格,與回車都是\0。

很牛的做法:scanf("%[^\n]",ch);加入正規表示式,這樣就方便了很多想用回車來區分不同輸入的程式設計師了。

C語言 scanf 函式

scanf 函式是用來從外部輸入裝置向計算機主機輸入資料的。scanf 函式的一般格式 案例 已知圓柱體的底半徑radius 1.5,高high 2.0,求其體積。main 案例 已知圓柱體的底半徑為radius,高為high,求其體積。功能 說明函式scanf 的格式及作用。main 程式執行結果...

C語言scanf函式

四 注意事項 編寫程式的主要目的就是為了處理資料。資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 輸入單個字元,儲存到字元變數中。gets 輸入一行...

C語言 scanf函式

1 scanf函式,是乙個標準的輸入函式 是乙個阻塞式的函式 當使用scanf的時候,程式會等待使用者輸入,如果不輸入內容,程式不再往下執行 作用 接收從鍵盤輸的的內容 2 使用格式 對比printf printf 格式控制字串 變數列表 scanf 格式控制字串 變數的 位址 列表 printf ...