C语言中1和1.0在以下程序中的区别是什么?

#include"stdio.h"#include"math.h"voidmain(){floata,b,c,area,s;scanf("%f,%f,%f",&a,&b,... #include"stdio.h"
#include"math.h"
void main()
{
float a,b,c,area,s;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f\n",area);
}

把“s=”后面的1.0换成1输出就是area=0.00000了
展开
 我来答
tattackor
推荐于2017-09-26 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:905万
展开全部
1、如果是1,那就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了。
2、如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0/2就是0.5.这样才能得到正确结果。
油菜花零
推荐于2017-10-07 · TA获得超过881个赞
知道小有建树答主
回答量:501
采纳率:50%
帮助的人:337万
展开全部
如果是1,那就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了
如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0/2就是0.5.这样才能得到正确结果
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安徽新华电脑专修学院
2018-11-27 · 百度知道合伙人官方认证企业
安徽新华电脑专修学院
安徽新华电脑专修学院始建于1988年,隶属于新华教育集团,是国家信息化教育示范基地、中国 IT 教育影响力品牌院校.
向TA提问
展开全部
计算机内的所有数据都是二进制,就是0和1;

用01编程是最原始的机器语言,是可以实现的 ,当然,编出来一个计算1+1的程序还行,计算个方程什么的就不太可能了。机器语言发展为汇编语言,后出现高级语言。现在编程都是用的高级语言。像C语言,C++等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无私又平实丶虎鲸i
2012-08-28 · TA获得超过202个赞
知道答主
回答量:305
采纳率:0%
帮助的人:205万
展开全部
1.0/2 结果是 double 0.5

1/2 结果是int 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
荣donghua
2012-08-28
知道答主
回答量:58
采纳率:0%
帮助的人:13.5万
展开全部
前面的同学回答的很好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式