修饰词
| %hh (需要C99后) | 限定输出格式为8位,即1个字节 |
|---|---|
| %h | 限定输出格式为16位,即2个字节 |
| %l | 限定输出格式为32位,即4个字节 |
| %ll | 限定输出格式为64位,即8个字节 |
占位符
空白符包括回车符\r, 换行符 \n, 制表符 \t(Tab)。
| %g | 输出实数(f格式或e格式),系统根据数据占宽度m大小,自动选择占宽度较小的某种格式输出,不输出小数点后无意义的零,默认宽度为6。 |
|---|---|
| %d | 整型(int)输出 |
| %ld | 长整型(long)输出 |
| %s | 输出字符串(char数组),遇'\0'停止。输入时,遇空白字符停止。 |
| %c | char型,输出一个字符 |
| %p | 16进制打印指针的值 |
| %f | 单精度浮点型(float),默认情况下保留小数点6位,如1.000000。 |
| %lf | 是双精度浮点型,默认情况下保留小数点6位,通常用来输出double型 |
| %e | 以指数形式输出实数 |
| %o | 以八进制数形式输出整数 |
| %x | 以十六进制数形式输出整数,或输出字符串的地址 |
-
%10d右对齐,%-10d左对齐,默认空格填充,%05d有0标志用0填充。
-
“%”与字母之间可以插入数字表示场宽,如%2d表示输出2位整型数,不够2位右对齐
-
%.2f用来输出小数,保留两位小数,如1.00
-
%g,%e,%f都会在精度的下一位四舍五入
-
%g默认保留六位有效数字输出
-
scanf("%s",s);这里不能有&符号。
-
%m.ns。输出占m列,但只取字符串中的左端n个字符,这n个字符输入输出在m列的右则,左则补空格。
-%m.ns。n个字符输出在m列的左侧,右侧补空格。
注意:%d与%u有无符号的数值范围,也就是极限的值,不然数值打印出来会有误
//dev-c++
#include <stdio.h>
int main(){
printf("%3s,%7.2s,%.4s,%-5.3s\n","china","china","china","china");
printf("%g,%g\n",5,6.0);
printf("%g,%g,%g\n",9.555555,123.55555,1234567.6666);
return 0;
}
//china, ch,chin,chi
//2.47033e-323,6
//9.55556,123.556,1.23457e+006
文章详细介绍了C99中printf函数的格式化输出,包括%d,%g,%f,%s等占位符的使用方法,以及如何控制对齐、宽度、精度和字符处理。
6378

被折叠的 条评论
为什么被折叠?



