This code
int a = 5;
printf("%x\n", a);
prints
5
This code
int a = 5;
printf("0x%x\n", a);
prints
0x5
This code
int a = 89778116;
printf("%x\n", a);
prints
559e7c4
If you capitalize the x in the format it capitalizes the hex value:
int a = 89778116;
printf("%X\n", a);
prints
559E7C4
If you want to print pointers you use the p format specifier:
char* str = "foo";
printf("0x%p\n", str);
prints
0x01275744