2012-04-04 9 views
0

私は時計をループすることができるように、1日の時間を保持する配列を作成しようとしています。配列の無効な8進数の回避策はありますか?

私が持っている:

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に次の番号のエラーを取得しています。

それは私に語った:

Error: invalid octal digit

私は前にこのに遭遇することがありませんし、その周りにどのような方法がある場合、私は思ったんだけど?

+0

'0'で始まるリテラルは、コンパイラによって8進数とみなされ、代わりにスペースで整列されます。 –

答えて

7

確か:

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}; 

は、あなただけの配列に番号を指定していることを忘れてはいけない - ではない任意の特定のテキスト表現:あなたが進を意味するものではありませんとき有数0を使用していませんその数の(従ってと書くのは、10と同じです。同じの数字はになります)。先頭に0を付けて数字を書式化したい場合は、コードとはまったく異なっています。

+0

数字を0にしたいが、8進数を意味しない場合はどうすればよいですか? –

+1

@KerrekSB: '(1 - 1)'? –

+0

@KerrekSB:ちょうど0ではなく00 – keety

関連する問題