C语言中 %d 与 %i 的区别 和注意事项 在 printf 格式串中使用时,没有区别在 scanf 格式串中使用时,有点区别,如下: ——在scanf格式中,%d 只与十进制形式的整数相匹配。 ——而%i 则可以匹配八进制、十进制、十六进制表示的整数。· ——例如: 如果输入的数字有前缀 0(018、025),%i将会把它当作八进制数来处理,如果有前缀0x (0x54),它将以十六进制来处理。 所以注意事项: ——如果你是个新手,且习惯性在数字前放个零啥的,劝你使用%d。