这可能是一个比较蠢的问题,但对我来说还是很有趣的)
这是我在使用Visual Studio 2013时看到的结果。
int i = 07; // i == 7
int i = 16; // i == 16
int i = 00016; // i == 14, why?
int i = 05016; // i == 2574, wow )
int i = 08; // compile error, compiler expects octal number...
如果一个数字以零开头并包含数字8,那么这是编译错误。这是正常的吗?如果00016等于14,编译器会怎么处理以零开头的数字呢?
感谢大家 ))