精华内容
下载资源
问答
  • 格式转换说明符

    2016-04-21 13:34:49
    格式在指数小于 -4 或者大于等于精度时使用 %i 有符号十进制整数  ( 与 %d 相同 ) %o 无符号八进制整数 %p 指针 ( 就是...

    %a

    浮点数、十六进制数字和p-记数法 (C99)

    %A

    浮点数、十六进制数字和P-记数法 (C99)

    %c

    一个字符

    %d

    有符号十进制整数

    %e

    浮点数、e-记数法

    %E

    浮点数、E-记数法

    %f

    浮点数,十进制记数法

    %g

    根据数值不同自动选择%f或者%e%e格式在指数小于-4或者大于等于精度时使用

    %G

    根据数值不同自动选择%f或者%E%E格式在指数小于-4或者大于等于精度时使用

    %i

    有符号十进制整数 (%d相同)

    %o

    无符号八进制整数

    %p

    指针(就是指地址)

    %s

    字符串

    %u

    无符号十进制整数

    %x

    使用十六进制数字0f 的无符号十六进制整数

    %X

    使用十六进制数字0F的无符号十六进制整数

    %T

    显示对应变量类型

    %%

    打印一个百分号

    展开全文
  • 格式转换说明符scanf,printf print...

    格式转换说明符scanfprintf

    printf、sprintf、scanf、sscanf等格式化函数在使用是需要特别小心,另外如果使用scanf_s这样的安全函数,更应当小心,因为如果格式控制有问题,可能直接导致格式化失败或运行时错误。

    表一:转换说明符及作为结果的打印输出

    转换说明 输出
    %a 浮点数、十六进制数字和p-记数法 (C99)
    %A 浮点数、十六进制数字和P-记数法 (C99)
    %c 一个字符
    %d 有符号十进制整数
    %e 浮点数、e-记数法
    %E 浮点数、E-记数法
    %f 浮点数,十进制记数法
    %g 根据数值不同自动选择%f或者%e。%e格式在指数小于-4或者大于等于精度时使用
    %G 根据数值不同自动选择%f或者%E。%E格式在指数小于-4或者大于等于精度时使用
    %i 有符号十进制整数 (与%d相同)
    %o 无符号八进制整数
    %p 指针(就是指地址)
    %s 字符串
    %u 无符号十进制整数
    %x 使用十六进制数字0f 的无符号十六进制整数
    %X 使用十六进制数字0F的无符号十六进制整数
    %% 打印一个百分号


    表二:printf() 修饰符

    修饰符 意义
    标志 五种标志 (-、+、空格、# 和0) 都将在表三中描述,可以使用零个或多个标志
    digit(s) 字段宽度的最小值。如果该字段不能容纳要打印的数或者字符串,系统会使用更宽的字段。示例:“%4d”
    .digit(s) 精度。对于%e、%E和%f转换,是将要在小数点的右边打印的数字的位数。对于%g和%G转换,是有效数字的最大位数。对于%s转换,是将要打印的字符的最大数目。对于整数转换,是将要打印的数字的最小位数;如果必要,要使用前导零来达到这个位数。只使用“.”表示其后跟随一个零,所以%.f与%.0f相同。示例:“%5.2f”打印一个浮点数,他的字段宽度为5个字符,小数点后有两个数字。
    h 和整数转换说明符一起使用,表示一个short int 或者 unsigned short int 类型数值。示例:“%hu”、“%hx”和“%6.4hd”
    hh 和整数转换说明符一起使用,表示一个signed char 或者unsigned char类型数值。示例:“%hhu”、“%hhx”和“%6.4hhd”
    j 和整数转换说明符一起使用,表示一个intmax_t或uintmax_t值。示例:“%jd”和“%8jX”
    l 和整数说明符一起使用,表示一个long int 或者unsigned long int 类型值。示例:“%ld”和“%8lu”
    ll 和整数说明符一起使用,表示一个long long int或 unsigned long long int 类型值 (C99)。示例:“%lld”和“%8llu”
    L 和浮点转换说明符一起使用,表示一个long double值。示例:“%Lf”和“%10.4Le”
    t 和整数转换说明符一起使用,表示一个ptrdiff_t值(与两个指针之间的差相对应的类型) (C99)示例:“%td”和“%12ti”
    z 和整数转换说明符一起使用,表示一个size_t值(sizeof返回的类型) (C99)。示例:“%zd”和“%12zx”


    表三:printf()的标志

    修饰符 意义
    - 项目是左对齐的,也就是说,会把项目打印在字段的左侧开始处。示例:“%-20s”
    + 有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。示例:“%+6.2f”
    (空格) 有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。+标志会覆盖空格标志。示例:“% 6.2f”
    # 使用转换说明的可选形式。若为%o格式,则以0开始;若为%x和%X格式,则以0x或0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除。示例:“%#o”、“%#8.0f”和“%+#10.3E”
    0 对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志。示例:“%010d”和“%08.3f”


    表四:ANSIC 中 scanf()的转换说明符

    转换说明符 意义
    %c 把输入解释成一个字符
    %d 把输入解释成一个有符号十进制整数
    %e,%f,%g, %a 把输入解释成一个浮点数 (%a是C99标准)
    %E,%F,%G,%A 把输入解释成一个浮点数 (%A是C99标准)
    %i 把输入解释成一个有符号十进制整数
    %o 把输入解释成一个有符号八进制数
    %p 把输入解释成一个指针(地址)
    %s 把输入解释成一个字符串;输入的内容以一个非空白字符作为开始,并且包含知道下一个空白字符的全部字符
    %u 把输入解释成一个无符号十进制整数
    %x,%X 把输入解释成一个有符号十六进制整数


    表五: scanf()的转换修饰符

    修饰符 意义
    * 滞后赋值。示例:“%*d”
    digit(s) 最大字段宽度;在达到最大字段宽度或者遇到第一个空白字符时(不管哪一个先发生都一样)停止对输入项的读取。示例:“%10s”
    hh 把整数读作signed char 或 unsigned char 。示例:“%hhd”“%hhu”
    ll 把整数读作long long或者 unsigned long long (C99)。示例:“%lld”“%llu”
    h,l或L “%hd”和“hi”指示该值将会存储在一个short int中。“%ho”“%hx”和“%hu”指示该值将会存储在一个unsigned short int中。“%ld”和“%li”指示该值将会存储在一个long中。“%lo”“%lx”和“%lu”指示该值将会存储在一个unsigned long中。“%le”“%lf”和“%lg”指示该值以double类型存储。将L(而非l)与e、f和g一起使用指示该值以long double类型存储。如果没有这些修饰符,d、i、o和x指示int类型,而e、f和g指示float类型。


    表附一:特别说明符

    转换说明符 意义
    %I64 配合u,d等,可以输入输出64位整数.MSVC平台有效.如%I64u , %I64d. 注意大写


    小结:一个字节的用%c,%hhu,%hhd等,两个字节用%hu,%hd等,四个字节用%d,%u等8个字节的用%lld,%llu等. 尽量不要用%I64d这样不兼容的格式.

    展开全文
  • C语言中常用的各种格式转换说明符

    千次阅读 2017-04-09 18:09:13
    在printf( )常用的格式转换说明符 转换说明符 作用 %c 一个字符 %d 有符号 十进制数 %u 无符号 十进制数 %o 无符号 八进制数 %x 使用 十六进制 0f 的无符号十六进制数 %X 使用十六进制 0F 的无符号十六...

    在printf( )常用的格式转换说明符

    转换说明符 作用
    %c 一个字符
    %d 有符号 十进制数
    %u 无符号 十进制数
    %o 无符号 八进制数
    %x 使用 十六进制 0f 的无符号十六进制数
    %X 使用十六进制 0F 的无符号十六进制数
    %p 指针
    %s 字符串
    %f float类型浮点数 十进制记数法
    %lf double类型浮点数 十进制记数法
    %% 输出一个%
    展开全文
  • 格式转换说明符scanf,printf格式%大全/格式化输入输出   表一 转换说明符及作为结果的打印输出 转换说明 输 出 %a 浮点数、十六进制数字和p-记数法 (C99) %A ...
    格式转换说明符scanf,printf格式%大全/格式化输入输出 

       表一 转换说明符及作为结果的打印输出

    转换说明

    输 出

    %a

    浮点数、十六进制数字和p-记数法 (C99)

    %A

    浮点数、十六进制数字和P-记数法 (C99)

    %c

    一个字符

    %d

    有符号十进制整数

    %e

    浮点数、e-记数法

    %E

    浮点数、E-记数法

    %f

    浮点数,十进制记数法

    %g

    根据数值不同自动选择%f或者%e%e格式在指数小于-4或者大于等于精度时使用

    %G

    根据数值不同自动选择%f或者%E%E格式在指数小于-4或者大于等于精度时使用

    %i

    有符号十进制整数 (%d相同)

    %o

    无符号八进制整数

    %p

    指针(就是指地址)

    %s

    字符串

    %u

    无符号十进制整数

    %x

    使用十六进制数字0f 的无符号十六进制整数

    %X

    使用十六进制数字0F的无符号十六进制整数

    %%

    打印一个百分号

     

              表二 printf() 修饰符

    修饰符

    意 义

    标志

    五种标志 (-+、空格、0) 都将在表三中描述,可以使用零个或多个标志

    digit(s)

    字段宽度的最小值。如果该字段不能容纳要打印的数或者字符串,系统会使用更宽的字段。示例:“%4d”

    .digit(s)

    精度。对于%e%E%f转换,是将要在小数点的右边打印的数字的位数。对于%g%G转换,是有效数字的最大位数。对于%s转换,是将要打印的字符的最大数目。对于整数转换,是将要打印的数字的最小位数;如果必要,要使用前导零来达到这个位数。只使用“.表示其后跟随一个零,所以%.f%.0f相同。示例:“%5.2f”打印一个浮点数,他的字段宽度为5个字符,小数点后有两个数字。

    h

    和整数转换说明符一起使用,表示一个short int 或者 unsigned short int 类型数值。

    示例:“%hu”、“%hx”和“%6.4hd”

    hh

    和整数转换说明符一起使用,表示一个signed char 或者unsigned char类型数值。

    示例:“%hhu”、“%hhx”和“%6.4hhd”

    j

    和整数转换说明符一起使用,表示一个intmax_tuintmax_t值。

    示例:“%jd”和“%8jX”

    l

    和整数说明符一起使用,表示一个long int 或者unsigned long int 类型值。

    示例:“%ld”和“%8lu”

    ll

    和整数说明符一起使用,表示一个long long int或 unsigned long long int 类型值 (C99)

    示例:“%lld”和“%8llu”

    L

    和浮点转换说明符一起使用,表示一个long double值。

    示例:“%Lf”和“%10.4Le”

    t

    和整数转换说明符一起使用,表示一个ptrdiff_t(与两个指针之间的差相对应的类型) (C99)

    示例:“%td”和“%12ti”

    z

    和整数转换说明符一起使用,表示一个size_t(sizeof返回的类型) (C99)

    示例:“%zd”和“%12zx”

                表三 printf()的标志

    修饰符

    意 义

    -

    项目是左对齐的,也就是说,会把项目打印在字段的左侧开始处。示例:“%-20s”

    +

    有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。示例:“%+6.2f”

    (空格)

    有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。+标志会覆盖空格标志。示例:“% 6.2f”

    #

    使用转换说明的可选形式。若为%o格式,则以0开始;若为%x%X格式,则以0x0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g%G格式,它防止尾随零被删除。示例:“%#o”、“%#8.0f”和“%+#10.3E”

    0

    对于所有的数字格式,用前导零而不是用空格填充字段宽度。如果出现-标志或者指定了精度(对于整数)则忽略该标志。示例:“%010d”和“%08.3f”

     

            表四 ANSIC 中 scanf()的转换说明符

    转换说明符

    意 义

    %c

    把输入解释成一个字符

    %d

    把输入解释成一个有符号十进制整数

    %e%f%g, %a

    把输入解释成一个浮点数 (%aC99标准)

    %E%F%G%A

    把输入解释成一个浮点数 (%AC99标准)

    %i

    把输入解释成一个有符号十进制整数

    %o

    把输入解释成一个有符号八进制数

    %p

    把输入解释成一个指针(地址)

    %s

    把输入解释成一个字符串;输入的内容以一个非空白字符作为开始,并且包含知道下一个空白字符的全部字符

    %u

    把输入解释成一个无符号十进制整数

    %x%X

    把输入解释成一个有符号十六进制整数

     

            表五 scanf()的转换修饰符

    修饰符

    意 义

    *

    滞后赋值。示例:“%*d”

    digit(s)

    最大字段宽度;在达到最大字段宽度或者遇到第一个空白字符时(不管哪一个先发生都一样)停止对输入项的读取。示例:“%10s”

    hh

    把整数读作signed char 或 unsigned char 。示例:“%hhd”“%hhu”

    ll

    把整数读作long long或者 unsigned long long (C99)。示例:“%lld”“%llu”

    hlL

    “%hd”和“hi”指示该值将会存储在一个short int中。

    “%ho”“%hx”和“%hu”指示该值将会存储在一个unsigned short int中。

    “%ld”和“%li”指示该值将会存储在一个long中。

    “%lo”“%lx”和“%lu”指示该值将会存储在一个unsigned long中。

    “%le”“%lf”和“%lg”指示该值以double类型存储。将L(而非l)efg一起使用指示该值以long double类型存储。

    如果没有这些修饰符,diox指示int类型,而efg指示float类型。

      

              表附一 特别说明符


    转换说明符

    意 义

    %I64

    配合u,d等,可以输入输出64位整数.MSVC平台有效.如%I64u , %I64d. 注意大写


    最后小结一下,一个字节的用%c,%hhu,%hhd等,两个字节用%hu,%hd等,四个字节用%d,%u等8个字节的用%lld,%llu等. 尽量不要用%I64d这样不兼容的格式.

    秉承开源精神,以上内容欢迎纠正,补充!

    尊重原创,尊重知识产权,从我做起.
    本文引用:http://www.cnblogs.com/zxpgo/arc

    展开全文
  • C/C++格式转换说明符

    2012-03-24 20:18:00
    printf() 格式转换说明符 %s 字符串%c 一个字符%d 有符号十进制整数%f 浮点数,十进制记数法%a 浮点数、十六进制数字和p-记数法 (C99)%A 浮点数、十六进制数字和P-记数法 (C99)%e 浮点数、e-记数法%E 浮点数、E-...
  • C语言格式转换说明符

    千次阅读 2014-02-28 11:25:02
    1) 类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示: 格式字符 意 义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号...
  •  表一 转换说明符及作为结果的打印输出 转换说明 输 出 %a 浮点数、十六进制数字和p-记数法(C99) %A 浮点数、十六进制数字和P-记数法(C99) ...
  • 表一、printf()格式转换说明符 转换说明  输出 %a 浮点数、十六进制数和p-记数法(C99) %A 浮点数、十六进制数和p-记数法(C99) %c 一个字符 %d 有符号十进制整数 %e 浮点数、...
  • /*转换说明修饰的几个小程序,其实这些修饰无非就是+,-,#,0,*,整型数,浮点数*/#include #define PAGES 931int main(void){printf("*%d*/n",PAGES); printf("*%2d*/n",PAGES); printf("*%10d*/n",PAGES);...
  • C语言转换说明符

    千次阅读 2017-06-20 18:36:31
    格式转换说明符printf() / scanf() 本文转自:http://www.cnblogs.com/ilegend/articles/2258701.html    表一 转换说明符及作为结果的打印输出 转换说明 输 出 %a 浮点数、...
  • C中,使用一些特殊符号来生成格式化的字符串模板,这些特殊的符号被称为转换说明符. 转换说明符及其输出结果 转换说明符 输出 %a 浮点数,十六进制数和p-计数法(C90) %A 浮点数,十六进制数和p-计数...
  • 格式说明符

    2015-02-26 15:35:00
    格式转换说明符printf() / scanf()  表一 printf()的转换说明符 转换说明 输 出 %a 浮点数、十六进制数字和p-记数法 (C99) %A 浮点数、十六进制数字和P-记数法 (C99) %c 一个字符 %d 有符号十进制整数 %e ...
  • scanf函数的输入格式化操作使用出现了错误。这原本是一个低级错误,在输入%lf时误将小写字母l写成了数字1,编译器是无法区分你到底要输入的是什么,就这一个小问题折腾了半天,所以以后在输入时一定要注意,当内存...
  • 常用printf()和scanf()的转换说明符及转换说明修饰符 printf()转换说明及输出形式 %a、%A 浮点数、十六进制和p记数法(C99/C11) %c 单个字符 %d 有符号十进制整数 %e、%E 浮点数,e记数法 %f 浮点数...
  • 1. (格式转换说明符 2. (格式)转换说明修饰符 注:printf()中float和double统一用%f,没有%lf这种用法,long double用%Lf 二、scanf()函数 1. (格式转换说明符 2. (格式...
  • C语言格式转换符

    2021-04-22 15:55:59
    格式转换符 说明 %d 有符号,十进制数 %u 无符号,十进制数 %o 八进制 %x 十六进制 %#o、%#x 带前缀的八进制和十六进制数 %hd、%ho、%hx 十进制、八进制和十六进制的 short %ld、%lo、%lx 十进制、...
  • printf格式说明符

    2020-06-22 23:26:31
    printf函数转换说明符
  • Python之转换说明符

    2020-06-18 14:47:40
    Python格式化字符
  • 1.转换说明符%a(%A)浮点数、十六进制数字和p-(P-)记数法(C99) %c字符 %d有符号十进制整数 %f浮点数(包括float和doulbe) %e(%E)浮点数指数输出[e-(E-)记数法] %g(%G)浮点数不显无意义的零"0" %i...
  • 格式说明符以及修饰符(整理)

    千次阅读 2015-07-29 19:06:13
    1、 转换说明符 转换说明符  意 义 %c 把输入解释成一个字符 %d 把输入解释成一个有符号十进制整数 %e,%f,%g,%a 把输入解释成一个浮点数(%a 是C99标准) %E,...
  • http://blog.csdn.net/misskissc/article/details/251373351 原型int fscanf(FILE*stream, const char* format, …)功能: 从stream流中连续读取能够匹配format格式的字符到参数列表中对应的变量里。参数: “stream...
  • 1、转换说明符 转换说明 输出 转换说明 输出 %a 浮点数、十六进制数字和p-记数法 %i 有符号十进制整数(与%d相同) %A 浮点数、十六进制数字和p-记数法 %o 无符号八进制整数 %c ...
  • 字符,将整数转换成对应的Unicode字符输出 d 十进制整数,以10为基数输出数字 f 浮点数,以浮点数输出数字 e 指数记法,以科学计数法输出数字(类型是E时用大写E) +m.nf 输...
  • C语言的格式化输出转换说明、修饰和标记详解 表1 转换说明及其打印的输出结果 转换说明 输出 %a,%A 浮点数、十六进制数和p计数法(C99/C11) %c 一个字符 %d 有符号十进制数 %e,%E 浮点数,e计数法 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,393
精华内容 557
关键字:

格式转换说明符