输出函数——printf注意事项
程序员文章站
2022-07-15 09:08:15
...
域宽:
可以在格式声明中指定输出数据的域宽(所占的列数),如用 “%5d”,指定输出数据所占 5 列,输出的数据显示在此 5 列区域的左侧。如:
printf("%5d\n%5d\n",12,-345);
输出结果为:
12 ( 12 前面有 3 个空格)
-345 (-345前面有1个空格)
其他任何输出格式均可以指定域宽,如%c、%f、%s。
输出字符时:
一个整数,如果在 0-127 范围中,也可以用 “%c” 使之按字符形式输出,在输出前,系统会将该整数作为 ASCLL 码转换成相应的字符;
short a = 121;
printf("%c",a);
输出字符y,如果整数比较大,则把它最后一个字节的信息一字符形式输出。如: int a = 377; y 存储形式:00000000 00000000 00000000 01111001
printf("%c",a);
可见最后一个字节为 01111001,即十进制的 121,它是 ‘y’ 的ASCLL代码。
f 格式符
1)基本型 %f(没得讲,不讲了)
2)指定数据宽度和小数位数,用%m.nf
m指的是输出的数据占 m 列(包括小数、小数点),n 指的是小数占 n 列。
例如:printf("%20.15f\n",a/3); 输出的结果占 20 列(包括小数、小数点),小数占 15 列。
3)输出的数据向左对齐,用%-m.nf
在 m.n 的前面加一个负号,其作用与 %m.nf 形式作用基本相同,但当数据长度不超过m 时,数据向左靠,右端补空格。如:
printf("%-25.15f,%25.15f\n",a,a);
第一次输出 a 时输出结果向左端靠,右端空 5 列。第二次输出 a 时输出结果向右端靠,左端空 5 列。
g格式符:
用来输出浮点数,系统自动选 f 格式或 e 格式输出,选择其中长度较短的格式,不输出无意义的 0。如:
double a = 12345678954321;
printf("%f\t%e\t%g\n",a,a,a);
输出之后可以看到 %f 格式输出占 21 列,用 %e 格式输出占 13 列,故 %g 采用 %e 格式输出。
还有 e 格式符、i 格式符、o 格式符、x 格式符、u 格式符,翻书去!
上一篇: C语言Printf函数注意点
下一篇: Java printf()函数使用大全