给你总结一下%后面接的东西吧 看完你就懂了
格式控制符:
%d: 输出一个10进制的整数;%md问题:m表示域宽也可以理解为位数,可为正可为负 正表示左侧空格 负表示右侧空格;
%f 输出一个实数类型的数据;默认输出为6位小数 不足补零;如果只想打印两位小数 则在f前写入.2 就是printf("f1=%.2f",f1);
如果写成%d6.3f 其中6表示有6位数 .3表示是3位小数; 如果是%-6.3f表示位数不够的时候从右边空小数;如果不是负数而小数位不够就会从左边空格;
精度问题:float:%f打印出来后,精度小数位为6位 有效数字是7位 到第八位时就不精确了 如3.1415926有八位数字了 所以最后第八个数子就算打印出来也是无效数字;
double:双精度下有效位是15位 只要写 double d1=3.1415926;printf(d1=“%.7f”,d1);就可以打印出来了
%c 输出一个字符;
%s 输出一个字符串;
%o 输出一个八进制数;
%x 输出一个十六进制数;
%p 输出一个地址; |