因为据说c语言的printf要比C++中的cout要快很多(当然我试了一下,输出了10000行,大约有1/15的差距,不是很大)。
我在cpp文件中运行这段程序发现不会输出正确结果
#include<stdio.h>
const double pi=3.14;
int main()
{
double r=3;
double s;
scanf("%lf",&r);
s=r*r*pi;
printf("%f\n",s);
scanf("%lf",&r);
s=r*r*pi;
printf("%lf",s);
return 0;
}
第一次输入可以正确输出,第二次不会正确输出,我又查了一下,发现C语言**scanf()**中float的格式符对应的是%f,double的格式符对应的是%lf;而printf()的格式符float和double都是%f。所以这个这段代码的第二次输出会出现错误。
可以.c文件中尝试一下,你会发现两个都是可以输出的。