我想用来printf在表单中显示十六进制数字0x###,但如果数字为0,我想省略该0x部分.
printf
0x###
0x
printf("%#x", number);
请注意,这完全符合您的要求.如果number的值为0,则打印0,否则以十六进制打印.例:
int x = 0; int y = 548548; printf("%#x %#x\n", x, y);
结果是:
0 0x85ec4