一个超级简单的C++程序,懂点的都进来帮下,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/11 05:50:26
程序:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double c;
c=5/9;
cout<<setiosflags(ios::fixed)<<setprecision(2)<<c<<endl;
return 0;
}
为什么我的输出结果是0.00
怎么搞的
我明明用的double型啊,用float也是这样子

5和9都是int型,这样除完得0,然后才能转化成double型赋值给c。要想得到想要的结果可以写成1.0*5/9就好了。

因为常量5,9都是int型,他的结果是0,然后再把0转换成doulbe型,赋给C,结果就是0.00.
再想改变的话,可以这样
double a = 5;
c = a/9;