c语言转换说明符总结(%d,%i,%u,%f,%o,%x,%X,%p,%s,%g,%e)

符号

输出数据类型

备注

%d

十进制整型数(int)

%i

有符号十进制整数(int)

跟%d类似

%u

无符号整型数(unsigned int)

%f

浮点型

包括float和double

%o(字母o)

八进制整型数

%X

十六进制数字

十以上的字母大写

%x

十六进制数字

十以上的字母小写

%p

指针的值、地址符(unsigned int)

%s

字符串

%g(或%G)

浮点数不显示无意义的零“0”

%e(或%E)

浮点数输出

注意:

一、%d与%i的区别:

(1).在printf格式中使用,没有区别。

(2).在 scanf 格式串中使用时,区别如下:

        a.在scanf格式中,%d 只与十进制形式的整数相匹配。

        b.而%i 则可以匹配八进制、十进制、十六进制表示的整数。·

        c.例如:如果输入的数字有前缀 0(018、025),%i将会把它当作八进制数来处理,如果有前缀0x (0x54),它将以十六进制来处理。

此处引用:原文链接:https://blog.csdn.net/a982644903/article/details/100183530

二、%p和%x的区别:

(1)输出类型相同:都是无符号十六进制。

(2)输出结果不同:

        a. %p以十六进制的形式是打印地址,编译器多少位,就打印多少位。比如:32位的打印32位,64位打印64位(不够的左边补0);

        b. %x的输出位数不固定,比如:0x01,0x0101,0x01010101等。

        c. %02x: 02表示不足两位,前面补0输出;如果超过两位,则实际输出。%.2x效果和%02x相同。%-2x,数据不足两位时,后面补空格输出,不额外补0输出; 如果超过两位,则实际输出

三、%g:

       例如:3.14000000,用%g的输出结果为3.14

四、%e:

       例如:%5.2e,其中,“5”代表最小输出宽度为5,即实际位数多于5时,则按实际位数输出,若实际位数少于定义的宽度5时,则补以空格或0。其中的“ .2"代表精度为2,即小数位数为2,若实际位数大于2,则截去多余的部分。”e"是格式字符,代表以指数输出,输出以大写E表示。

但这只是printf()的用法,scanf()是没有【精度】的。

此处引用:原文链接:https://blog.csdn.net/weixin_38277423/article/details/70941153

五、%u:

如果它对应的值是负的,则返回时是一个2的32次方减去这个负数的绝对值。例如:-2,返回的是:4294967294。

  • 36
    点赞
  • 231
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值