是否有解决数组中无效八进制数字的问题?

时间:2012-04-04 23:23:29

标签: c++ arrays compiler-errors octal

我正在尝试创建一个数组,它可以保存一天中的小时数,这样我就可以循环播放一个时钟。

我有:

int hourArray[24] = {12, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 01, 02,
                     03, 04, 05, 06, 07, 08, 09, 10, 11};

我按照08, 09, 08, 09的顺序收到以下数字的错误。

它告诉我:

  

错误:八进制数字无效

我以前从未遇到过这种情况,我想知道它是否有任何解决方法?

1 个答案:

答案 0 :(得分:7)

当然:当你不是指八进制时,不要使用前导0:

int hourArray[24] = {12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 
   1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

不要忘记您只是在数组中指定数字 - 而不是数字的任何特定文本表示。 (所以如果你写012相当于写10 - 你最终会得到相同的数字。)如果你想格式化这些数字后面带领0这是代码的一个完全不同的方面。