欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

输出函数——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 格式符,翻书去!

相关标签: 笔记