參考**
%[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 函式的返回值反映的是按照指定的格式符正確讀入的資料的個數。如果輸入資...