格式化打印:
格式 | int | folat | double | char | 字符串 | 十六进制 | 无符号整型 |
输出标志 | %d | %f | %lf | %c | %s | %#x | %u |
格式 | 地址 | 指数 | 八进制 | %f/%e较短的一种 | %本身 | 类型或变量大小 | |
输出标志 | %p | %e | %o | %g | %% | %sizeof |
“%”与字母之间可以插入数字表示场宽,如%2d表示输出2位整型数,不够2位右对齐;%-2d则表示左对齐
%d:输出十进制整数 , 通常用来输出int型。
%o:以八进制数形式输出整数。
%x:以十六进制数形式输出整数。
%f:输出浮点数,用来输出小数,默认情况下保留小数点6位,如1.000000,通常用来输出float型%.2f用来输出小数,保留两位小数,如1.00( ("x = %2f\n", x)表示将变量x的值以浮点数的形式输出,并使用格式化字符串"x = %2f\n"指定输出的格式。其中,%2f表示输出宽度为2位,如果输出的浮点数宽度不足2位,则在左侧用空格进行填充)
%s:输出字符串,通常用来输出char型。
%c:输出字符,char型。
%p:输出指针地址,打印指针地址。
%e:以指数形式输出实数。
%ld:表示输出长整型数,通常用来输出长整型数据。
%lf:表示输出双精度浮点型数,通常用来输出双精度浮点型数据。
%u:以十进制数输出unsigned型数据(无符号数)。
%g:根据大小自动选f格式或e格式,且不输出无意义的零。( 对于数值较小的num2,%g格式控制符自动选择了e格式进行输出,省略了多余的零,并保留了有效数字的精度。而对于数值较大的num1,%g则选择了f格式进行输出,保留了小数点后的位数。)
%ld长整型输出,通常用来输出long型。
%sizeof:输出一个类型或变量的大小(以字节为单位)。
%n与其他格式说明符号不同。%n不向printf传递格式化信息,而是令printf把自己到该点已打出的字符总数放到相应变元指向的整形变量中。因此%n对于的变元必须是整形指针。
对printf调用返回之后,%n对于变元指向的变量中将包含有一个整数值,表示出现%n时已经由该次printf调用输出的字符数。
printf("this%n is a test\n",&count);//调用后count为4