我在看下面的代码,不知道为什么一个地址没有得到在printf()
结印。根据我迄今为止使用指针的经验,下面的printf()
语句将打印指针指向的变量的十六进制地址,但在这种情况下,我正在观察不同的行为。当我试图打印出这个指针的内容时,为什么不打印地址?
#include <stdio.h>
int main (void)
{ const char * p = "Hello World!";
printf("%p\n", p);
return 0;
}
而不是地址,我得到输出10968
。是什么赋予了?
什么让你觉得'10968'不是一个地址? – CoffeeandCode
你看过[这里](http://stackoverflow.com/questions/14733761/printf-formatting-for-hex)正确格式的十六进制? – skatedan