scanf()的用法
(1)scanf()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数. format(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始。
(2)scanf()读取匹配format(格式)字符串的输入. 当读取到一个控制字符, 它把值放置到下一个变量. 空白(tabs, 空格等等)会跳过. 非空白字符和输入匹配, 然后丢弃.
(3)scanf()的返回值是成功赋值的变量数量, 发生错误时返回EOF.
scanf()控制字符与说明
- %c 一个单一的字符
- %p 一个指针
- %d 一个十进制整数
- %n 一个等于读取字符数量的整数
- %i 一个整数
- %s 一个字符串
- %e, %f, %g 一个浮点数
- %% 一个精度符号
- %o 一个八进制数
- %[ ] 一个字符集
- %x 一个十六进制数
- %u 一个无符号整数
scanf()特殊与正则表达式
- “%ns” n为整数,读入的字符串最长不超过n,然后在末尾补’\0’;
- “%nf” 读入的浮点数最多有n位整数,位数多于n,会截断;
- “%n[a-z]” 读入最多n个字符,如果遇到非a-z的字符,停止;
- "%s" 读入任意多的字符,直到遇到" "停止;
- "%[^\n]" 读入任意多的字符,直到遇到"\n"停止;
- "%[^,]" 读入任意多的字符,直到遇到","停止;
- “%[^=]” 读入任意多的字符,直到遇到"="停止;
- “%n[^=]” 读入"="号前的至多n个字符;
- “*” 表示该输入项读入后不赋予任何变量,即跳过该输入值;
- "%[1]" 只能输入进去1不然就遇到不是1就结束;
- “%[0-9]” 表示只读入’0’到’9’之间的字符;
- “%[a-zA-Z]” 表示只读入字母;
- “-” 是范围连接符,也可以直接列出你需要读入的字符。
网友评论