%p ใช้พิมพ์ค่าพอยน์เตอร์ %x ใช้พิมพ์ค่า Hexadecimal แม้พอยน์เตอร์จะพิมพ์ได้ด้วย %u หรือ %x แต่ %p จะพิมพ์ Leading Zeros (ศูนย์นำหน้า) ส่วน %x จะไม่พิมพ์
ตัวอย่าง
#include <stdio.h>
int main() {
int x = 59;
printf("Value using %%p: %p\n", x);
printf("Value using %%x: %x\n", x);
return 0;
}
ผลลัพธ์
Value using %p: 000000000000003B Value using %x: 3b