use*_*225 29 c printf format-specifiers
我有一个简单的程序:
#include <stdio.h>
int main()
{
long i = 16843009;
printf ("%02x \n" ,i);
}
Run Code Online (Sandbox Code Playgroud)
我使用%02x格式说明符来获得2个char输出,但是,我得到的输出是:
1010101
Run Code Online (Sandbox Code Playgroud)
虽然我期待它:01010101.
ara*_*aer 44
%02x意味着打印至少2位数字,0如果有更少的话,请在前面添加.在你的情况下它是7位数,所以你没有额外0的前面.
另外,%x对于int,但你有一个很长的.试试吧%08lx.
%x是格式化和输出十六进制值的格式说明符。如果您提供 int 或 long 值,它会将其转换为十六进制值。
%02x意味着如果您提供的值小于两位数,0则将在前面加上。
您提供的值16843009已转换为1010101十六进制值。