C语言%f输出为什么小数位都为零了啊

void main(void)
{
int a=1,b=2;
float c;
c=a/b;
printf("%f",c);
}

为什么输出是0.000000而不是0.500000啊

这个与运算符的优先级有关。赋值运算(“=”)运算级比算术运算(“/”)要低。先进行除法运算,两整数相除得到 0 ,最后执行赋值运算,因为 c 为float 类型,比 int 级高,int自动转为 float类型,即为你的答案0.00000
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
你 的写的这个是得不到float的这样可以:c=1.0*a/b;你
上边的a是int b也是int结果肯定是int的0 赋值给float就变成0.000000了知道了吧本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网