标签: c int printf
我不明白为什么这段代码会打印24和20。
int main(){ int m = 24, n = 024; printf("%d %d", m, n); return 0; }
答案 0 :(得分:3)
在C中,以“0”开头的数字是八进制。所以024表示24 8 ,即2•8 + 4 = 20.
024
答案 1 :(得分:3)
前导0表示八进制,即基数8.所以:
2 * 8 + 4 == 20