printf( )和scanf( )
printf()的转换说明
| 转换说明 | 输出 |
| %a,%A | 浮点数,十六进制数和p记数法 |
| %c | 单个字符 |
| %d、%i | 有符号的十进制整数 |
| %e,%E | 浮点数,e记数法 |
| %f | 浮点数,十进制计数法 |
| %g/%G |
根据值的不同,自动选择%f或%g/%G。 %g/%G格式用于指数小于-4或大于等于精度时。 |
| %o | 无符号八进制整数 |
| %p | 指针 |
| %s | 字符串 |
| %u | 无符号十进制整数 |
| %x/&X | 无符号十六进制整数,是用十六进制of/oF |
| %% | 打印一个百分号 |
printf()的转换说明修饰符
| 修饰符 | 含义 |
| 标记 | -,+,空格,#,0 |
| 数字 |
最小字段宽度 如果该字段不能容纳待打印的数字或字符串, 系统会使用更宽的字段。示例:%4d |
| .数字 |
精度 对于%e,%E,%f的转换,表示小数点右边数字的位数 对于%g和%G转换,表示有效数字最大位数 对于%s转换,表示待打印字符的最大数量 对于整形转换,表示待打印数字的最小位数 |
| h | 和整形转换说明一起使用,表示short int和unsigned short int类型的值。示例:%hu,%hx,%6.4hd |
| hh | 和整形转换说明一起使用,表示signed char和unsigned char类型的值 |
| l | 和整形转换说明一起使用,表示long int 和unsigned long int 类型的值 |
| z |
和整形转换说明一起使用,表示size_t类型的值。 size_t是sizeof返回的类型。示例:%zd。 |
| L | long double |
printf( )中的标记
| 标记 | 含义 |
| - | 待打印项左对齐。 |
| + |
有符号值为正,则在值前面显示加号; 若为负,则在值前面显示符号。 |
| 空格 |
有符号值若为正,则在值前面显示前导符号; 若为负,则在值前面显示减号标记并覆盖空格。 |
| # |
把结果转换为另一种形式。如果是%o格式,则以0开始; 如果是%x或%X格式,则以0x或0X开始; |
| 0 |
对于数值格式,用前导0代替空格填充字段宽度。 对于整数格式,如果出现-标记或指定精度,则忽视该标记。 |
scanf( )
- 如果用scanf()读取基本变量类型的值,在变量前加上一个&,如果是字符串则不用。
- scanf()读入数组时读取到空格是结束。
- 在scanf()中,把*放在%和转换字符之间时,会使得是scanf()跳过相应的输入项。而printf()则是在有充足的字段宽度时用*号填充。
- scanf()返回成功读取项的个数。

浙公网安备 33010602011771号