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 展开
下列程序段的输出结果为()。
float k=0.8567;
printf("%06.1d%%",k*100);
A:0085.6%%
B:0085.7%
C:0085.6%
D:.857 展开
5个回答
展开全部
首先你是不是打错了,"%06.1d%%" 应该是"%06.1f%%",这样才可能输出,%d输出整形,没办法输出浮点,然后%06.1f中6是用六个位置,0是指第一个非零数字前用零填充,.1小数点后保留1位小数,float又是单精度浮点数,过指定小数位自动四舍五入,%%是输出%,所以k*100=85.67,输出就是0085.7%,所以选B
追问
就是这,小数点后显示一位,也应该是0085.6%啊,怎么会是 0085.7%啊。很不理解啊???
追答
呃,这个我解释不大清楚,要牵扯到浮点数的运算和尾数上,如果是初学就先记住在超出要保留的位数时会自动把后一位四舍五入就行了
展开全部
题目是不是有问题啊,浮点型的数据怎么会以整型的方式输出?,如果把
【printf("%06.1d%%",k*100);】改成【printf("%06.1f%%",k*100);】,
答案选(B)
【printf("%06.1d%%",k*100);】改成【printf("%06.1f%%",k*100);】,
答案选(B)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出类似xxxxxxxxxx%的错误值,与A、B、C、D各选项都不匹配。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很显然题目是错的 %d不可能打印出浮点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询