每个整型在printf()函数中对应不同的格式说明符,以实现该整型的打印输出。格式说明符必须使用小写。现在让我们看看各个整型及其格式说明符:
短整型(short)
- 10进制:%hd
- 16进制:无负数格式,正数使用%hx
- 8进制:无负数格式,正数使用%ho
c
short s = 34;
printf("%hd", s); // 34
printf("%hx", s); // 22
printf("%ho", s); // 42
无符号短整型(unsigned short)
- 10进制:%hu
- 16进制:%hx
- 8进制:%ho
c
unsigned short us = 34;
printf("%hu", us); // 34
printf("%hx", us); // 22
printf("%ho", us); // 42
整型(int)
- 10进制:%i 或 %d
- 16进制:无负数格式,正数使用%x
- 8进制:无负数格式,正数使用%o
c
int i = 34;
printf("%i", i); // 34
printf("%d", i); // 34
printf("%x", i); // 22
printf("%o", i); // 42
无符号整型(unsigned int)
- 10进制:%u
- 16进制:%x
- 8进制:%o
c
unsigned int ui = 34;
printf("%u", ui); // 34
printf("%x", ui); // 22
printf("%o", ui); // 42
…
可以看出,各整型在printf()中的格式说明符虽然形式不同,但输出结果是相同的。这使我们可以方便地根据具体需要选择合适的格式说明符来实现整型的输出。