是什么转换标识符%I和%d在格式化IO的功能(* printf的/ * scanf的)之间的差

StackOverflow https://stackoverflow.com/questions/1893490

如在%d格式说明中使用时

是什么%iprintf之间的差异?

有帮助吗?

解决方案

它们是同用于输出时,例如与printf

但是,这些作为输入符例如使用时是不同的与scanf,其中%d扫描一个整数作为符号十进制数,但%i默认为十进制但也允许十六进制(如果前面由0x)和八进制(如果前面由0)。

因此033将27 %i但33 %d

其他提示

这些是相同的为printfscanf不同。对于printf,既%d%i指定签署十进制整数。对于scanf%d%i也意味着有符号整数,但如果前面由%i和八进制如果前面由0x 0 inteprets输入为十六进制数和以其他方式解释输入为十进制。

这里没有任何在printf - 两个是同义词

scroll top