了解 C/C 中带前导零的数字常量
在 C/C 中,数字常量可以以前导“0”作为前缀来指示它们的基数或数字系统。此前缀表示该常量是八进制(以 8 为基数)值。
当您使用“0123”作为整数常量时,编译器会将其解释为八进制值。在八进制数字系统中,“123”代表十进制值 83 (881 3)。因此,当您打印该值时,它会输出 83 而不是 123。
此行为在 C 和 C 编译器(例如 GCC)中是一致的。它也适用于以“0”为前缀的浮点常量,尽管转换规则可能略有不同。
要显式指定数字常量的基数,您可以使用以下前缀:
例如,要将十进制值 123 表示为八进制常量,您可以使用“0123”。相反,要将八进制值 83 表示为十进制常量,您可以使用 83。
以上是为什么“0123”在 C/C 中打印为“83”?的详细内容。更多信息请关注PHP中文网其他相关文章!