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了知道了吧本回答被提问者采纳
上边的a是int b也是int结果肯定是int的0 赋值给float就变成0.000000了知道了吧本回答被提问者采纳