格式化 I/O 函数中格式说明符 %i 和 %d 之间的差异 (printf / scanf)
格式化 I/O 函数,如 printf 和scanf 利用转换说明符来控制数据在输入或输出期间的表示方式。在这些说明符中,%i 和 %d 通常用于整数。
输出的用法(%i 与 %d)
用作格式说明符时输出中,%i 和 %d 没有区别。两者产生相同的结果。它们表示十进制格式的整数值。
输入说明符
但是,当使用 %i 和 %d 作为输入说明符时,就会出现区别(在 scanf 中) )。主要区别在于:
%i:默认行为类似于 %d(有符号十进制整数)。但是,它还有一个附加功能:它允许以其他基数输入,例如:
实际示例
为了说明差异,请考虑输入字符串“033”。
总之,虽然 %i 和 %d 对于输出的行为相似,但它们对于输入的行为不同。 %i 通过允许十六进制和八进制输入来提供扩展功能,而 %d 严格限于带符号的十进制输入。
以上是C 中的 %i 与 %d:这些格式说明符何时不同?的详细内容。更多信息请关注PHP中文网其他相关文章!