VC基础问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 10:20:01
#include<iostream.h>
void main(){
const float PI=3.14;
float radius=4.15;
float circums;
circums=2*PI*radius;
cout......
这个程序其实很简单,但在编译时,通不过,要把变量float改为其它的就行,例如改为double或int.如果想用float的话,必须把后面的数字改为.0就行,哪位哪告诉我,大概是什么原因?还是我不会用啊.谢谢.
编译时,出现warning C4305: 'initializing' : truncation from 'const double' to 'const float',大概是什么意思啊?原因在哪?

2*PI*radius得到的是double, warning C4305: 'initializing' : truncation from 'const double' to 'const float'是警告你从double转为float会丢失精度, 可以不用管.

VC中error才是错误, warning是不是错, 所以出现warning已是通过编译了

float是浮点类型 自然要带小数点.double和int是整型

在浮点数后面加上f
const float PI=3.14f;
float radius=4.15f;

const float PI=(float)3.14;
这样就可以了,强制转换下