所以我有以下代码:
#define x 010000
我的意图是将 x 定义为十进制的“10000”,但是当我打印出上面的代码时,它被打印为 4096。 我不明白它是如何翻译成 4096 的。 谁能解释一下吗?
最佳答案
以 0 开头的数字在 C 中被视为八进制。010000
是用八进制表示法编写的整数文字。其值为8**4=4096
。删除第一个 0。
关于c - 打印时错误地将宏转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53734687/