在 printf 格式串中使用时,没有区别 在 scanf 格式串中使用时,有点区别,如下: 在scanf格式中,%d 只与十进制形式的整数相匹配。而%i 则可以匹配八进制、十进制、十六进制表示的整数。 如若输入的数字有前缀 0,%i将会把它当作八进制数来处理, 当然如若是前缀0x ,它将以十六进制来处理。