基本使用(格式控制字符串) 如下表(来自C 库函数 - printf()): 格式字符 意义 a, A 以十六进制形式输出浮点数(C99 新增) d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀0) x,X 以十六进制形式输出无符号整数(不输出前缀0x) u 以十进制形式输出无符号整数 f 以小数形式输出单、双精度实数 e,E 以指数形式输出单、双精度实数[1] g,G 以%f或%e中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符数组[2],[3] p 输出指针地址 lu 32位无符号整数[4] llu 64位无符号整数[5] 注释:
[1]例如 7.25×102、0.0368×105、100.22×10-2、-27.36×10-3 等
[2]为了好理解,我把原文中的“字符串”改成了“字符数组”,但请记住,在C语言中,字符串即为字符数组
[3]可以省略参数
[4]C++中的unsigned int
[5]C++中的unsigned long long int(简写为unsigned long long)
练习 1.写出程序的输出结果:
#include <stdio.h>
int main() { int x = 10; printf("%d\n", x); printf("%o\n", x); printf("%x ", x); printf("%u\n", x); } 请在思考完毕后划开答案: 10 12 a 10 答案解析: 第5行,是以十进制输出带符号整数(并换行),但第8行是输出无符号整数,在x为正数时没有区别 第6行,是以八进制输出一个无符号整数(并换行) 第7行,是以十六进制输出一个无符号整数,但请注意,输出字母是小写;格式控制字符串中末尾是一个空格