我想用printf
表格来显示十六进制数字0x###
,但如果数字为0,我想省略0x
部分。
samoz
问问题
2032 次
5 回答
16
printf("%#x", number);
请注意,这正是您想要的。如果 number 的值为 0,则打印 0,否则以十六进制打印。例子:
int x = 0;
int y = 548548;
printf("%#x %#x\n", x, y);
结果是:
0 0x85ec4
于 2009-02-10T02:03:49.660 回答
4
printf ((x == 0) ? "%03x" : "0x%03x", x);
于 2009-02-10T02:07:33.630 回答
2
if (num == 0)
{
printf("0");
}
else
{
printf("%X", num);
}
于 2009-02-10T02:02:59.287 回答
1
为什么要难?
如果数字 = 0 printf 没有格式化 别的 带格式的 printf
于 2009-02-10T02:01:23.347 回答
0
难道您不能只使用 if 语句来检查数字是否为 0,然后确定是否应该将其打印为 0x### 或仅打印 000 (如果您正在寻找,则为 0)
于 2009-02-10T02:03:56.757 回答