使用 Devc++ 对于 printf 得到 0.00000 并让 cout 得到一些奇怪的输出。
#include<iostream>
#include<cmath>
#include<stdio.h>
using namespace std;
main()
{
float i,j=M_PI;
i=sin(j);
printf("%f \n",i);
cout<<i;
}
最佳答案
在我看来,M_PI
并不完全是 pi(我们知道它不可能),而且 sin
的结果也不完全是零。
printf
和 %f
表示输出数字四舍五入为“正常”小数,而 cout
使用自适应格式(大约 % g
我记得在 printf 中),它使用科学记数法来表示小数。
另请注意,%f
表示 double
,但可变参数在传入时有助于将您的 float
提升为 double。
关于c++ - 打印相同变量时为 cout 和 printf 获取不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29034947/