永发信息网

若float a=1352.97856,则printf("%6.3f~%6d",a,(int)a)

答案:3  悬赏:60  手机版
解决时间 2021-02-11 01:13
  • 提问者网友:人生佛魔见
  • 2021-02-10 21:56
若float a=1352.97856,则printf("%6.3f~%6d",a,(int)a)
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-02-10 22:34
%6.3f,按输出格式,小数部分3位,原数小数部分超过3位时四舍五入;输出共6列,按小数部分3位的实际数值所占列数超过6时,不受列宽限制。因此输出1352.979

(int)a,强制将a转换为整型,即取原数的整数部分,%6d,输出列宽为6,当不足6位时,左边用空格补齐,因此输出  1352(1352左边两个空格)。
输出结果为1352.979~  1352
验证:

分析结果无误。

全部回答
  • 1楼网友:猎心人
  • 2021-02-11 01:28
输出:1352.98~ 1352
其中~后面空格2个
  • 2楼网友:醉吻情书
  • 2021-02-10 23:49

6.3f 表示三位小数. 所以是1352.979 总长度超过6位, 按实际位数输出, 6无效.
a转为整型是1352 按照%6d输出, 于是输出6位 左边补两个空格. 为  1352
综合 就是1352.979~  1352
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯