注册 登录
编程论坛 C++教室

如何更好的理解const限定符?

lxfeng1988 发布于 2013-12-21 13:38, 378 次点击
有一段简单的C++程序:
#include<iostream>
int main()
{
    using namespace std;
    cout.setf(ios_base::fixed,ios_base::floatfield);  //fixed-point
    float tub=10.0/3.0;  //good to about 6 places
    double mint=10.0/3.0;  //good to about 15 places
    const float million=1.0e6;

    cout<<"tub= "<<tub;
    cout<<",a million tub= "<<million*tub;
    cout<<",\nand ten million tubs= ";
    cout<<10*million*tub<<endl;

    cout<<"mint= "<<mint<<" and a million mints= ";
    cout<<million*mint<<endl;
    return 0;
}
只有本站会员才能查看附件,请 登录


问题1:为什么使用const?
问题2:a million tubs为什么=3333333.250000??
2 回复
#2
dianziyuan2013-12-21 15:42
const float million=1.0e6;
用const 限定的变量不能修改只能初始化,加常属性,million就是1.0e6
cout<<",a million tub= "<<million*tub;输出的是million*tub,1.0e6*(10.0/3.0);

#3
lxfeng19882013-12-21 17:21
回复 2楼 dianziyuan
还不是很理解,不加行不?为什么要加呢?(程序中没对million修改啊。。。)
float只能有6位小数(有效位),现在乘以1000000,超出了其范围,为什么输出是
3333333.250000.  
25是怎么来的?
求教,万谢~~~
1