学C的进来帮看看呀

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:13:07
main()
{float r,c,s,pi=3.14159
scanf("%f",&r);
c=2.0*pi*r;
s=pi*r*r
printf("r=%f,c=%6.2f,s=%7.3f/n",r,c,s);
上面的2.0为什么不是2?是因为float就得把2写成2.0吗?

2.0<=>float(2);
2.0是为了通知编译系统2是浮点型
在这里可以写成2不影响
因为在计算中 比如说 a=b*2; a为浮点类 则运算的时候
编译器把2强制转换成浮点类进行计算
main()
{float r,c,s,pi=3.14159;
scanf("%f",&r);
c=2*pi*r;
s=pi*r*r;
printf("r=%f,c=%6.2f,s=%7.3f/n",r,c,s);
}

你可以直接写2的,系统会直接转换成float型。

类型提升规则之一是:
操作符两边若有一个是float,且另一个不是long double 或double,则另一个转化成float。

这里2.0和2都是一样的。2.0会使程序更容易被理解。

c=2.0*pi*r;
这样的书写是便于解读,写上2也是对的。写2.0是标准的字符型数据相承,是很好的习惯,对于初学者来讲就应该这样