C语言int和double的运用?

这个是计算π的,为什么两个结果不一样,求大神解惑

第1个回答  2020-08-04
int用来定义整数,比如图片中的a就是整数
double和float都是定义浮点数,但是double比float的精度高
第2个回答  2020-08-04
对于b=a/c;,因图2中a和c都是整型,因此发生的是整除,小数部分被直接丢弃了。
比如:
int a=3,b=2;
double c=a/b;
因为a、b都是整型,/进行的是整除运算,c的值就是1,0.5被丢弃了。

而图1中b是double型,/运算的结果会保留小数部分,所以两个结果不同。
第3个回答  2020-08-04
如果c是整型变量,由于a也是整型变量,那么b=a/c也会是整型变量(即使你给他标的是double)

在某些编译器(如dev-C++)中,double a=1;和double a=1.0是不一样的
相似回答