0

我不明白为什么这段代码会打印 24 和 20。

int main(){ 
    int m = 24, n = 024;
    printf("%d %d", m, n); 
    return 0; 
}
4

2 回答 2

3

在 C 中,以“0”开头的数字是八进制。所以024表示 24 8,即 2•8 + 4 = 20。

于 2013-04-22T19:29:52.287 回答
3

前导 0 表示八进制,即以 8 为底。所以:

 2 * 8 + 4 == 20
于 2013-04-22T19:30:09.997 回答