C格式化输出代码实例讲解
程序员文章站
2022-06-27 22:43:31
C格式化输出代码实例讲解
/*
C格式化输出:
>了解:格式控制字符串:(Format control string),由转换说明符(Conversion spec...
C格式化输出代码实例讲解
/* C格式化输出: >了解:格式控制字符串:(Format control string),由转换说明符(Conversion specifier), 标记(Flag), 域宽(Filed Width ), 精度(Precision), 文本字符(Literal character)组成。 1.不同进制的打印:%d, %o, %x; 2.打印浮点数:%e, 一般小数点后六位显示. %g,根据数据的绝对值大小来判断用浮点表示还是科学计数法表示。 3.域宽的打印: %5d 中5表示的就是域宽为5,超出域宽不影响数据的表示,域宽大于数据的实际数位,数据自动向右对齐。 4.精度的打印: %.5f 中会将浮点数的精度确定为小数点后5位 %.5d 中精度表示打印数据的最小位数,若精度 5 前为点(.)或者零(0)则用 0 补齐,若 5 前没有任何什么点缀 则->参考域宽 %.5s 中精度表示从一个字符串中打印出来的最大字符个数。 5.标记: -(减号)在域宽中左对齐 +(加号)在正数前加上+,在负数前面加上-; # 在不同进制上加上相应的前缀例如:0, 0x, 0X,或者浮点数没有小数部分时,强制显示小数点 时间:Dec 29, 2017 14:12 */ #includeint main() { int a = 789; float b =12.345; const char *s = "heheda!"; printf("%05d\n", a); printf("%#05o\n", a); printf("%#05x\n", a); printf("%-5d\n",a); printf("%+5d\n",a); printf("%020f\n", b); printf("%10.2f\n", b); printf("%010.2f\n", b); printf("%10.2e\n", b); printf("%010.2e\n", b); printf("%-5f\n",b); printf("%+5f\n",b); printf("%020s\n", s); printf("%.5s\n", s); return 0; } /************** 00789 01425 0x315 789 +789 0000000000012.345000 12.35 0000012.35 1.23e+001 01.23e+001 12.345000 +12.345000 000000000000heheda! hehed 请按任意键继续. . . */