我遇到了这段代码:
unsigned char c = 0xA3;
printf("%2.2X\n",c);
但我不知道2.2
的目的是什么。当我比较这两个陈述时:
printf("%2.2X\n",c);
printf("%X\n",c);
我得到相同的输出,例如:
A3
比2.2
代表什么?
谢谢。
答案 0 :(得分:3)
printf("%A.BX\n", c);
A
是输出必须具有的最小字符数。如果小于此值,则它会用空格填充左边的剩余空格。示例:printf("%3.1X\n", 6); -> " 6"
B
是输出必须具有的最小位数。如果小于此值,则将剩余的零填充到左侧。示例:printf("%4.2X\n", 6); -> " 06"
X
表示输出为十六进制,字母为大写字母。示例:printf("%7.5X\n", 232) -> " 000E8"