c语言除法运算

(1)#include<stdio.h>voidmain(){floatm;m=1/2;printf("%f",m);}(2)#include<stdio.h>voidm... (1)
#include<stdio.h>

void main()

{

float m;

m=1/2;

printf("%f",m);

}
(2)
#include<stdio.h>

void main()

{

float m,n,z;

m=1;

n=2;

z=m/n;

printf("%f",z);

}
为什么第一种得到0.00000 第二种得到0.50000 而且貌似只有除法运算有这个问题。。求助
展开
 我来答
匿名用户
2013-10-09
展开全部
第一种里 1/2表示的是两个整形的相除,结果是0

第二种,虽然它也是1/2,但因为使用的是变量,这两个变量又是float浮点,所以它真正的操作是浮点的1.0/2.0,结果是0.5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackaroo2012
2013-10-09
知道答主
回答量:41
采纳率:0%
帮助的人:23.6万
展开全部
例1中,两个int型数除(1÷2),结果是int型(0),然后赋值给m,所以是0.0000。
m=(float)1/2;这样写就和例2一样了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式