函数printf的格式转换说明符输出的结果有什么区别

1个回答
展开全部
摘要 格式字符串
  一个典型的 printf 函数调用:
printf("1 + 1 = %+8d \r\n", 2);
1
1
  printf 函数的第一个参数称为格式字符串,格式字符串由两部分组成——指示符和转换说明。
咨询记录 · 回答于2021-10-24
函数printf的格式转换说明符输出的结果有什么区别
格式字符串  一个典型的 printf 函数调用:printf("1 + 1 = %+8d \r\n", 2);11  printf 函数的第一个参数称为格式字符串,格式字符串由两部分组成——指示符和转换说明。
%f,%g,%e不一样,输出结果会有啥区别
1:%g用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字 2:当%g用于打印超过6位的浮点型数据时,对于所有格式说明符都一样会遇到这样的问题,因为精度问题,%f不得不输出一个不精确的超过六位的数字,%e也是同样,而%g此时会选择%e格式进行输出,并且按第一条要求,去掉多余的零,并且四舍五入到6位数字。这是《C Primer Plus》中所说的超过精度的时候的情况。 3:当一个数字的绝对值很小的时候,要表示这个数字所需要的字符数目就会多到让人难以接受。举例而言,如果我们把π*10^-10写作0.00000000000314159就会显得非常丑陋不雅,反之,如果我们写作3.14159e-10,就不但简洁而且易读好懂,是-4时,这两种表现形式大小相同。对于比较小的数值,除非该数的指数小于或者等于-5,%g才会采用科学技术发来表示,即,以%e的格式进行输出。
您好!感谢您的提问,希望我的回答能够帮助您!记得帮我点点完成赞一下哦,谢谢啦!
那什么时候要在整数后面带上小数的好多个零
%5.3f,%3.3f都是啥意思啊
[牛啤]
您好,是在抱歉,没有及时回复您,请您谅解一下吧。%5.3f中的5表示这个数至少要占到5个字符,当然要包括小数点在内,其中的3表示小数点后面有3位小数。如果数据是:1.2,则输出的是1.200,包括小数点在内刚好5位。如果数据本身本来多于5位,有两种情况:一,如123.12,则输出的是:123.120,即小数一定要满足3位小数。二,如1.12345,则输出1.123
%3.3f指输出宽度为3,精度为3,实际长度超过3故应该按实际位数输出,小数位数超过3位部分被截去。
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消