В конце концов, оба этих утверждения делают то же самое...
int a = 10;
int *b = &a;
printf("%p\n",b);
printf("%08X\n",b);
Например (с разными адресами):
0012FEE0
0012FEE0
Тривиально форматировать указатель по желанию с помощью %x
, так хорошо ли использовать параметр %p
?