我有一份数字 list ,如下所示:

0, 16, 32, 48 ...

我需要以十六进制输出这些数字,如下所示:

0000,0010,0020,0030,0040.

我try 过以下解决方案:

printf("%.4x",a); // where a is an integer

但我得到的结果是:

0000,0001,0002,0003,0004.

我想我快到了.有人能帮上忙吗,因为我不是 所以C级的printf分很好.

谢谢你.

推荐答案

try :

printf("%04x",a);
  • 0-左键将数字填充为
  • 4(宽度)-最小安装数量
  • x-十六进制的说明符

here

C++相关问答推荐

C中的外部/全局变量

`__attribute__((destructor))` 在某些情况下没有运行?

我可以在同一个文件中使用 time.h 中的两个 tm 结构吗?

删除逗号之间的白色字符,但不删除逗号内的内容

C 编程语言中有范围运算符吗?

如何仅将 C 中 for 循环中的三个最大整数分配给三个单独的变量?

你能用科学计数法打印一个整数吗?

如何禁用特定功能的堆栈金丝雀?

C中块内的函数声明

C中偶数数组的递归

未定义值的索引处的数组值

C 或 C++ 是否保证数组 < 数组 + SIZE?

假设指向同一个变量的两个指针是非法的/UB,为什么 C 编译器不能优化更改 const 指针的值?

(x | y) - y 为什么不能简单地是 x 甚至 `x | 0`

为什么快速整数类型比其他整数类型快?

我可以用 NULL 代替 0 的值吗?

为什么不自动假定#pragma 一次?

在 C++ 中,我是否为我不吃的东西买单?

为什么我在使用 rand() 时会得到这种特殊的 colored颜色 模式?

将双精度数分配给 C 中的 int 变量的非直观结果