Sea*_*ght 16
printf("%#x", number);
Run Code Online (Sandbox Code Playgroud)
请注意,这完全符合您的要求.如果number的值为0,则打印0,否则以十六进制打印.例:
int x = 0;
int y = 548548;
printf("%#x %#x\n", x, y);
Run Code Online (Sandbox Code Playgroud)
结果是:
0 0x85ec4
Run Code Online (Sandbox Code Playgroud)