printf 函数格式控制


Printf()介绍

printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。

函数原型:

int printf ( const char * format, ... );

返回值: 
正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。

调用格式: 
printf()函数的调用格式为:printf("格式化字符串",输出表列)

格式化字符串包含三种对象,分别为: 
(1)字符串常量; 
(2)格式控制字符串; 
(3)转义字符。 
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。

printf.C++ reference的表格。 
这里写图片描述

注意:黄色背景行标识的类型长度说明符和相应的数据类型是C99引入的。

示例代码:

 1 printf("%hhd\n",'A');               //输出有符号char
 2  
 3 printf("%hhu\n",'A'+128);           //输出无符号char
 4  
 5 printf("%hd\n",32767);              //输出有符号短整型short int
 6  
 7 printf("%hu\n",65535);              //输出无符号短整型unsigned short int
 8  
 9 printf("%ld\n",0x7fffffffffffffff); //输出有符号长整型long int
10  
11 printf("%lu\n",0xffffffffffffffff); //输出有符号长整型unsigned long int

输出结果: 

注意: 
long int到底是32bits还是64bits跟生成的程序是32bits还是64bits一一对应,如果使用g++编译程序的话,可通过-m32-m64选项分别生成32bits和64bits的程序。因本人测试代码编译生成的是64bits的程序,所以long int也就是64btis。

【来源】

转义控制符