以下这段C语言代码输出结果为什么是0

在C里运行以下代码:#include<stdio.h>voidmain(){floatf=100.0;printf("%d\n",f);}则屏幕输出结果为0,如何解释?... 在C里运行以下代码:
#include<stdio.h>
void main()
{
float f=100.0;
printf("%d\n",f);
}
则屏幕输出结果为0,如何解释?
展开
 我来答
h0292058
2011-09-26 · 超过23用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:42.4万
展开全部
因为变量f的类型是float, 所以对应的格式串中应该用%f,这两者必须一致,当这两者不一致时,编译时不会出错,但是输出会是0。相应的,如果你定义了一个整型量i, 而写成printf("%f\n", i); 的话,输出一样会是0,而不管i的值是什么。
Tea_dove
2011-09-26
知道答主
回答量:41
采纳率:100%
帮助的人:15万
展开全部
printf("%f\n",f);

因为f是浮点型。%d表示十进制整数(decimal),%f表示浮点型(float variable).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0b9fc92
2011-09-26 · TA获得超过358个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:234万
展开全部
这属于下溢出,计算机直接附给0,如果是上溢,则计算机会报错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jyw金ly
2011-09-26 · TA获得超过100个赞
知道答主
回答量:181
采纳率:0%
帮助的人:125万
展开全部
回答:printf("%d\n",f); f为int型的。而printf("%.1f\n",f);就会得到100.0了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
furious_tauren
2011-09-26 · TA获得超过4057个赞
知道大有可为答主
回答量:1913
采纳率:100%
帮助的人:819万
展开全部
printf("%d\n",f); 格式不对,更成printf("%f\n",f);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式