c - 格式说明符 %02x

标签 c printf format-specifiers

我有一个简单的程序:

#include <stdio.h>
int main()
{
        long i = 16843009;
        printf ("%02x \n" ,i);
}

我正在使用 %02x 格式说明符来获得 2 个字符的输出, 但是,我得到的输出是:

1010101 

虽然我期望它是:01010101

最佳答案

%02x 表示至少打印 2 位数字,如果不足则在前面加上 0。在您的情况下,它是 7 位数字,因此前面没有额外的 0

此外,%x 用于 int,但您有一个 long。请尝试使用 %08lx

关于c - 格式说明符 %02x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18438946/

相关文章:

c++ - 通过引用传递 3-Dim 固定长度数组

c - 在 C 语言中使用 'fgets' 在 'printf' 之后出现问题,因为 'fgets' 在 'printf' 之前运行

c - 我如何打印 uint16_t?

c - 使用fscanf()读取每行3个数字的文件,为什么“%d%d%d%* c”和“%d%d%d”一样好?

Iphone Objective-c 全局变量不同的值

c - 如何在 C 中制作成对列表?

java - 如何防止 Eclipse 自动删除我的 exe 文件

C 客户端/服务器与 fprintf 通信?

c - 需要有关 c 中 printf() 的帮助

c - 跨平台使用 void 指针