【问题标题】:Ints in C printint weird thing [closed]C中的Int打印奇怪的东西[关闭]
【发布时间】:2013-04-15 19:56:05
【问题描述】:

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

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

【问题讨论】:

  • 024 是一个八进制常数,2*8 + 4 = 20

标签: c int printf


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

     2 * 8 + 4 == 20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多