C中%d和%i格式说明符之间的区别

格式说明符%d

格式说明符%d使用整数值作为有符号的十进制整数值,这意味着无论是负数还是正数,值都应为十进制。

这是C语言格式说明符%d的示例,

示例

#include <stdio.h>
int main() {
   int v1 = 7456;
   int v2 = -17346;
   printf("The value in decimal form : %d\n", v1);
   printf("The value in negative : %d", v2);
   return 0;
}

输出结果

The value in decimal form : 7456
The value in negative : -17346

格式说明符%i

格式说明符%i将整数值作为整数值,这意味着值应为十进制,八进制和十六进制,并且八进制值由前面的“ 0”提供,而十六进制值由前面的“ 0x”提供。

这是C语言格式说明符%i的示例,

示例

#include <stdio.h>
int main() {
   int v1 = 1327;
   int v2 = 0x42451;
   printf("The value in decimal form : %d\n", v1);
   printf("The value in hexadecimal form : %i", v2);
   return 0;
}

输出结果

The value in decimal form : 1327
The value in hexadecimal form : 271441