promotion image of download ymail app
Promoted

C++ 初始化定義問題

小弟我剛剛翻了一下 C++ PRIMER

裡面有一個練習題目,如下 :

下列定義有何不同(如果不同的話)?

(1)int month = 9 , day = 7;

(2)int month = 09 , day = 07;

我想問的是 (2)

09 不行 07 可以 , 是因為8進制嗎 ? (我猜的)

如果定義有誤 ? 如何修正問題 ?

我不懂,我想知道原因 <(_ _)>

麻煩了 謝謝

1 Answer

Rating
  • 其威
    Lv 7
    8 years ago
    Favorite Answer

    0 開頭的數字是 8 進位,例如 0456 0123 0452 等。

    0x 開頭的數字是 16 進位,例如 0x1a2b 0x3d4ef 等。

    09 不行是因為八進位可用的數字只有 0 ~ 7,9 自然不行。

    就像十進位裡面你不能寫 16 進位才能用的 abcdef 一樣。

    如果你還是要用 8 進位表示九月七日,必須寫:

    int month = 011, day = 07;

    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.