|
格式控制符 |

说明 |
| — | — |
|
%c |
读取一个单一的字符 |
|
%hd、%d、%ld |
读取一个十进制整数,并分别赋值给 short、int、long 类型 |
|
%ho、%o、%lo |
读取一个八进制整数(可带前缀也可不带),并分别赋值给 short、int、long 类型 |
|
%hx、%x、%lx |
读取一个十六进制整数(可带前缀也可不带),并分别赋值给 short、int、long 类型 |
|
%hu、%u、%lu |
读取一个无符号整数,并分别赋值给 unsigned short、unsigned int、unsigned long 类型 |
|
%f、%lf |
读取一个十进制形式的小数,并分别赋值给 float、double 类型 |
|
%e、%le |
读取一个指数形式的小数,并分别赋值给 float、double 类型 |
|
%g、%lg |
既可以读取一个十进制形式的小数,也可以读取一个指数形式的小数,并分别赋值给 float、double 类型 |
|
%s |
读取一个字符串(以空白符为结束) |

scanf() 控制字符串的完整写法为:

1
%{*} {width} type

其中,{ } 表示可有可无。各个部分的具体含义是:

  • type表示读取什么类型的数据,例如 %d、%s、%[a-z]、%[^\n] 等;type 必须有。
  • width表示最大读取宽度,可有可无。
  • *表示丢弃读取到的数据,可有可无。