This code
int a = 5;
printf("%x
", a);
prints
5
This code
int a = 5;
printf("0x%x
", a);
prints
0x5
This code
int a = 89778116;
printf("%x
", a);
prints
559e7c4
If you capitalize the x in the format it capitalizes the hex value:
int a = 89778116;
printf("%X
", a);
prints
559E7C4
If you want to print pointers you use the p format specifier:
char* str = "foo";
printf("0x%p
", str);
prints
0x01275744
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…