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