เราจะมาดูกันว่า %p และ %x มีความแตกต่างกันอย่างไรในภาษา C หรือ C++ %p ใช้เพื่อพิมพ์ค่าตัวชี้ และ %x ใช้เพื่อพิมพ์ค่าเลขฐานสิบหก แม้ว่าตัวชี้ยังสามารถแสดงได้โดยใช้ %u หรือ %x หากเราต้องการพิมพ์ค่าบางอย่างโดยใช้ %p และ %x เราจะไม่รู้สึกถึงความแตกต่างที่สำคัญใดๆ ความแตกต่างเพียงอย่างเดียวที่สามารถสังเกตได้คือ %p จะพิมพ์เลขศูนย์นำหน้าบางส่วน แต่ %x ไม่พิมพ์
ตัวอย่าง
#include<stdio.h> main() { int x = 59; printf("Value using %%p: %p\n", x); printf("Value using %%x: %x\n", x); }
ผลลัพธ์
Value using %p: 000000000000003B Value using %x: 3b