visualc++ 常量定义 const

来源:百度知道 编辑:UC知道 时间:2024/07/01 05:16:54
visualc++ 中常量定义 const float pi=3.1415926和float pi=3.1415926有什么不一样啊
void main()
{
const double pi=3.1415926;
double r,s;
s=pi*r*r;
cout<<"please input r:"<<endl;
cin>>r;

cout<<pi<<endl
<<r<<endl
<<s<<endl;
}
这个程序为什么输出的r是3.141593啊?数值类型改成别的也不行啊!还有输出的s数值格式也不对啊,不论怎么改变r的数值,s都不改变,帮帮忙啊!

const float pi=3.1415926定义实型常量pi,值为3.1415926
float pi=3.1415926定义实型变量pi,值为3.1415926

这跟常量定义有什么关系。。

s不改变因为你给s赋值之后再读入的r, 所以s的值乱七八糟并且跟你的输入没关系是必然的啊

const double pi=3.1415926;
double r,s;
cout<<"please input r:"<<endl;
cin>>r;

s=pi*r*r;

cout<<pi<<endl
<<r<<endl
<<s<<endl;

改成以上代码就行了,你说的PI值其实在内存里是对的,只是与显示方式有关而已

void main()
{
const double pi=3.1415926;
double r,s;
cout<<"please input r:"<<endl;
cin>>r;
s = pi*r*r;
cout<<pi<<endl
<<r<<endl
<<s<<endl;
}

将程序改一下,另外 float 默认只显示6位小数,超出位数采取 五舍六入 原则