c++中定义了a 为float类型为什么a =7/5结果是1?但sqrt(7)却是小数?怎样使a 为小数?

来源:百度知道 编辑:UC知道 时间:2024/05/12 16:43:16
a=b/c(b,c为两个不定整数)呢?小弟是初学者,望详细点

a=b/c,运行的时候,先算出b/c,然后再把得出的结果赋值给a。
b=7,c=5,两个变量都是整型变量,所以计算出来的结果也将是整型。
要使a为浮点型,可以改为
a=1.0*b/c

a=(float)b/c
sqrt(7)是个函数,它要求括号里的值就应是小数,故运行的时候,把7转换成了7.0。

7/5就是按整形的类型来计算的,所以结果就成了1
可以改为
7.0/5
或者
7/5.0

对于
a=b/c;//(b,c为两个不定整数)
可以改为
a=(float)b/c;

a=b/(float)c;

7/5取的就是整数
改成7.0/5就可以了
整数除以整数得到整数,必须定义a为浮点才能得到小数

7.0/5.0就可以啦