【发布时间】:2019-05-13 01:35:12
【问题描述】:
所以我有以下代码:
#define x 010000
我的意图是将 x 定义为十进制的“10000”,但是当我打印出上述代码时,它会打印为 4096。 我不明白如何将其翻译为 4096。 谁能解释一下?
【问题讨论】:
-
当你写
int x = 0;时,你写的是一个八进制常量,而不是十进制常量(参见C11 §6.4.4.1 Integer constants)。零(后面不跟x或X— 或者,在某些圈子里,b或B)表示八进制常数。 -
Darkfall,自从您成为会员近四年以来,如果您还没有真正阅读帮助内容,那么值得一试:stackoverflow.com/help,特别是为什么有些问题已关闭(stackoverflow.com/help/closed-questions)。这样,您将知道首先搜索该问题是否已被询问和回答,并且您不必浪费时间等待另一个答案,或者更有可能被关闭为重复 :-) 这顺便说一句,不是批评,我只是想帮助一个旅伴。
-
是的,我知道这是一个愚蠢的问题,我应该在发布之前寻找过去的答案。对此感到抱歉。