C/C++教程

printf( )和scanf( )

本文主要是介绍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( )

1.如果用scanf()读取基本变量类型的值,在变量前加上一个&,如果是字符串则不用。

2.scanf()读入数组时读取到空格是结束。

3在scanf()中,把*放在%和转换字符之间时,会使得是scanf()跳过相应的输入项。而printf()则是在有充足的字段宽度时用*号填充。

这篇关于printf( )和scanf( )的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!