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

#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了

1、如果是1,那就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了。
2、如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0/2就是0.5.这样才能得到正确结果。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-07
如果是1,那就是整数,整数除法1/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了
如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0/2就是0.5.这样才能得到正确结果本回答被提问者采纳
第2个回答  2018-11-27
计算机内的所有数据都是二进制,就是0和1;

用01编程是最原始的机器语言,是可以实现的 ,当然,编出来一个计算1+1的程序还行,计算个方程什么的就不太可能了。机器语言发展为汇编语言,后出现高级语言。现在编程都是用的高级语言。像C语言,C++等。
第3个回答  2012-08-28
1.0/2 结果是 double 0.5

1/2 结果是int 0
第4个回答  2012-08-28
前面的同学回答的很好

C语言中1和1.0在以下程序中的区别是什么?
1、如果是1,那就是整数,整数除法1\/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了。2、如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0\/2就是0.5.这样才能得到正确结果。

C语言中1和1.0在以下程序中的区别是什么?
如果是1,那就是整数,整数除法1\/2结果也会是整数,数学中答案是0.5,但是整型的不能保存0,5.因此会直接变成0.后面的计算结果是什么就不重要了 如果是1.0那么就表示这个数是float类型,float与int运算,结果会变成float的方式存储。1.0\/2就是0.5.这样才能得到正确结果 ...

c语言中1和1.0的区别
类型不同、需转换类型不同。1、类型不同:1是一个整数常量,其类型为int,而1.0是一个浮点数常量,其类型为double。2、需转换类型不同:当使用整数常量1时,需要进行浮点数运算时,需要将其强制转换为double类型,而1.0需要将其强制转换为int类型.

c语言中x=1和x=1.0的区别
x = 1;将1赋值给x,此时x为int型;x = 1.0;将1.0赋值给x,此时,x默认为double型。这两个的主要区别就是x数据类型不同。

c语言 int中01和1有区别吗
c语言 int中01和1有区别的c语言中1、1.0、'1'、"1",都是有区别的。1是整数1.0是实数'1'是字符"1"是字符串int是c语言基本数据类型之一,是整型的意思。 C语言中,有多种不同的数据... 一起跟随小编过来看看吧 01“\\ 0 ”在 c语言中 代表“字符串结束符”。

c语言中1和“1”有没有区别
c语言中1、1.0、'1'、"1",都是有区别的。1是整数 1.0是实数 '1'是字符 "1"是字符串

C语言。在C语言求倒数的时候,要用到表示1\/变量与1.0\/变量有什么区别没有...
只要变量是大于1的整数,如果用"1\/变量",得到的结果是0。而用"1.0\/变量"得到的是一个小数。也就是所求数的倒数。也可用1\/(变量.0),得到倒数!

C语言上的关于1和1.0的一个小问题
整数相除会取整,比如1除以2会得0,而1.0\/2则为0.5。1.0在c中默认是double类型,而1是int类型。

单片机C语言里1和'1'是一样的吗
不一样的,1表示数字,默认十进制的1,'1'表示数字1对应的ASCII码,是一个8位的char类型数据。

C语言item=flag*1.0\/denominator为什么是1.0而不是1?
这里之所以要乘以1.0是为了把整数转换为浮点数,然后再做除法。如果是乘以整数1就没有任何意义了。

相似回答