300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言转换说明符总结(%d %i %u %f %o %x %X %p %s %g %e)

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

时间:2019-03-21 18:34:37

相关推荐

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

注意:

一、%d与%i的区别:

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

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

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

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

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

此处引用:原文链接:/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()是没有【精度】的。

此处引用:原文链接:/weixin_38277423/article/details/70941153

五、%u:

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。