我有一个简单的程序:

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

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

我期望它是:01010101

最佳答案

%02x表示打印至少2位数字,如果少于2位,则在其前面加上0。您的情况是7位数字,因此前面没有多余的0

另外,%x是int的,但是你很长。请尝试%08lx

10-06 07:01