printf语句中%p ,%#x区别

1,格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。

2,这里的"c=%#x\n"意思是:是一个格式控制符,其中c=是普通字符,%#x是格式说明,\n是转义字符;其中的%#表示的输出提示方式,如果是8进制,在前面加0,如果是十进制,不加任何字符,如果是十六进制,会加上0x

当执行:printf("c=%#o\n",c);输出的是:0101(把16进制41转化为2进制)
printf("c=%#d\n",c);输出的是:65(把16进制41转化为10进制)
printf("c=%#x\n",c);输出的是:0x41

 

posted @ 2013-09-04 16:55  泛起的鱼  阅读(3516)  评论(0编辑  收藏  举报