scanf函式之掃瞄集

2021-09-16 18:30:52 字數 1004 閱讀 5891

參考**

%[string] // 只讀取包含在中的字元

%[^string] // 讀取除中字元以外的字元,^為取反的意思

下面給出示例及螢幕結果,示例中省略變數宣告:

1

/* 第乙個格式示例 */

2puts

("輸入:");

3scanf

("%[abc]"

,str)

;// 除abc三個字元外,其他字元均會結束對變數的賦值45

puts

("輸出:");

6printf

("str = %s"

,str)

;

輸入:

abcdef

輸出:str = abc

可以看到,scanf函式只讀取了abc,這裡d作為結束對變數str賦值的標誌,後面的輸入被忽略。

1

/* 第二個格式示例 */

2puts

("輸入:");

3scanf

("%[^abc]"

,str)

;// abc三個字元均會結束對變數的賦值

4 其他任意字元都會被賦值給變數

5puts

("輸出:");

6printf

("str = %s"

,str)

;

輸入:

defabc

輸出:str = def

上述示例,scanf函式將a作為結束對變數str賦值的標誌,同樣忽略後面的輸入。

若是想代表所有字母或數字,不必要輸入所有的字母和數字,只需使用破折號來代表一定的範圍即可,例如:

a-z 代表從a到z的26個小寫字母

a-z 代表從a到z的26個大寫字母

c-z 代表從c到z的24個小寫字母

0-9 代表從0到9的10個數字 ⚀

scanf掃瞄字串總結

scanf 是我們學c語言時候最先接觸到的,是用來接收輸入的.出現的測試題很多都是從乙個檔案讀取,我們就會用到 fscanf 如果用不好,就很麻煩 預設是遇到 空格 tab鍵 換行,就結束乙個串的掃瞄 使用類似正規表示式的限定字元集合 用方括號括起來在 和 s 之間 例如 a z 0 9 s 包含 ...

詳解scanf函式

函式名 scanf 功能 執行格式化輸入 用法 int scanf char format argument,scanf 函式是通用終端格式化輸入函式,它從標準輸入裝置 鍵盤 讀取輸入的資訊。可以讀入任何固有型別的資料並自動把數值變換成適當的機內格式。其呼叫格式為 scanf 格式化字串 位址表 s...

scanf 函式問題

今晚研究一下scanf函式 大部分內容 於c語言中文網中 c語言常見問題集 我只不過是做了綜合 1 首先,傳給scanf的必須是指標,對於每個值,scanf都會寫入指標所值的位置,所以必須加 在寫程式時候經常會忘記。2 scanf 函式的返回值反映的是按照指定的格式符正確讀入的資料的個數。如果輸入資...