C语言,这个输出是什么???

真是奇葩题呀。。。求大神讲解下列程序段的输出结果为()。floatk=0.8567;printf("%06.1d%%",k*100);A:0085.6%%B:0085.7... 真是奇葩题呀。。。求大神讲解
下列程序段的输出结果为()。

float k=0.8567;

printf("%06.1d%%",k*100);
A:0085.6%%
B:0085.7%
C:0085.6%
D:.857
展开
 我来答
百度网友1ebb4ad
推荐于2017-11-26 · TA获得超过184个赞
知道答主
回答量:47
采纳率:0%
帮助的人:36.2万
展开全部
首先你是不是打错了,"%06.1d%%" 应该是"%06.1f%%",这样才可能输出,%d输出整形,没办法输出浮点,然后%06.1f中6是用六个位置,0是指第一个非零数字前用零填充,.1小数点后保留1位小数,float又是单精度浮点数,过指定小数位自动四舍五入,%%是输出%,所以k*100=85.67,输出就是0085.7%,所以选B
追问
就是这,小数点后显示一位,也应该是0085.6%啊,怎么会是   0085.7%啊。很不理解啊???
追答
呃,这个我解释不大清楚,要牵扯到浮点数的运算和尾数上,如果是初学就先记住在超出要保留的位数时会自动把后一位四舍五入就行了
www5526974
2014-01-11
知道答主
回答量:18
采纳率:0%
帮助的人:12万
展开全部
题目是不是有问题啊,浮点型的数据怎么会以整型的方式输出?,如果把
【printf("%06.1d%%",k*100);】改成【printf("%06.1f%%",k*100);】,
答案选(B)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
White_MouseYBZ
2014-01-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6640万
展开全部
输出类似xxxxxxxxxx%的错误值,与A、B、C、D各选项都不匹配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
adaynewerzhang
2014-01-11 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:26.7万
展开全部
很显然题目是错的 %d不可能打印出浮点数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缘来我属猫
2014-01-11
知道答主
回答量:17
采纳率:0%
帮助的人:4.6万
展开全部
答案是~~~~~~~~A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消

辅 助

模 式