%d 有符号10进制整数 %i 有符号10进制整数 %o 无符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %F/f 浮点数 %E/e 用科学表示格式的浮点数 %g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数 %c 单个字符 %s 字符串
以下为验证实例:
#include<stdio.h> //test #if 1 int main() { int val = 10; int* add = &val; printf("val, &val, add的值分别为:%d 、%d、%d\n", val, &val, add); printf("val, &val, add的值分别为:%p 、%08X、%X\n", val, &val, add); return 0; } #endif
运行结果如下:
仔细观察以上对比结果,其中最重要的是Val的值,若以%d格式输出为10;以%p格式输出为0000 000A 。相信有一点基础的人都可以很轻松的明白其中端倪。
原文:https://www.cnblogs.com/lixuejian/p/10797039.html