%lld
是显示格式的意思,lld是long long整型
d 代表 整型 、f 代表 浮点型
数字是代表位数,例如:(1.001,1.0001,1.00001)
scanf(“%d”,&n)
%表示格式化输入输出:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
%03d,表示:打印一个整数,整数的长度不足3位前面会用0补足3位。
e.g.
printf("%03d",30),显示030。
printf("%03d",3000),显示3000。
如果是打印浮点数,可以使用%0.3f,表示保留小数点后3位数字。
%lf 双精度浮点型,double型,默认保留6位小数。
如:double a = 1.2; printf("%lf",a); //1.200000
%.2lf 双精度浮点型,double型,限制值保留2位小数。
如:double a = 1.2345; printf("%.2lf",a); //1.23
%.2f 单精度浮点型,float型,默认保留6位小数。
如:float a = 1.2731; printf("%.2f",a); //1.27
最多应该是没有限制的,比如:
double a = 1.23;
printf("%.200lf",a); //1.23000000000000000000000000000000000000000000000000 后面应该会有上百个0
没有%2lf 但是有 %m.nlf 其中m表示一共多少位(小数点前+后),n表示小数点后多少位。 当m<n时,m自动无效。
double a = 12.3456;
printf("%6.1",a);//这里用u代表空格 //uu12.3
解释:由于总共是6位。而12.3456保留一位小数是12.3只有4位,所以前面需要填充2个空格。