为什么:
int test() {
return 00101 % 10;
}
返回5
,同时:
int test() {
return 101 % 10;
}
返回1
?我无法想出解释。
答案 0 :(得分:23)
以0
开头的整数文字,如
00101
实际上是八进制常量。
答案 1 :(得分:5)
00101
是八进制值,十进制为65
,因此返回5
。
答案 2 :(得分:0)
00101是八进制的,十进制数等于65,这就是模数运算符总是给出5的原因。 您可以在此链接http://www.rapidtables.com/convert/number/octal-to-decimal.htm
上执行八进制到十进制的转换