printf与cout对比:
1、在输出几位小数时,printf只需要在%后加上点几即可控制小数位数,并且采用的是四舍五入;
而cout首先需要头文件#include<iomanip>,之后在输出时使用setprecision()和fixed进行精度控制和补0,同样是四舍五入,
注意:setprecision单独使用是控制有效位数的,与fixed合用才是控制小数点后位数的,
使用方法如下:
float a=0.123; //方法一: cout<<setiosflags(ios::fixed)<<setprecision(5); cout<<a<<endl;//输出 0.12300 //方法二: cout.setf(ios::fixed); cout<<setprecision(5); cout<<a<<endl;//输出 0.12300 //方法三: cout<<fixed<<setprecision(5)<<a;//输出 0.12300
能看出cout要比printf麻烦,故控制位数输出小数时推荐printf。
2、输出需要保留字符数据时,printf中只会输出如%d对应位置的数据,其他位置的字符或数据将会保留,比如想要输出a+b+c+d,使用printf:
printf("%d+%d+%d+%d",a,b,c,d);
而使用cout:
cout<<a<<"+"<<b<<"+"<<c<<"+"<<d;
类似这种情况有较多需要保留的字符或数据就推荐printf,省去打许多双引号。