C++ 数组中是否存在无效八进制数字的变通方法?
我正在尝试创建一个数组,它可以保存一天中的小时数,这样我就可以在其中循环一个时钟 我有:C++ 数组中是否存在无效八进制数字的变通方法?,c++,arrays,compiler-errors,octal,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 它告诉我: 错误:八进制数字无效 我以前从未遇到过这种情况,我想知道是否有办法
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
它告诉我:
错误:八进制数字无效
我以前从未遇到过这种情况,我想知道是否有办法解决这个问题?当然:当你不是指八进制时,不要使用前导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格式化这些数字,这是代码的一个完全不同的方面。编译器认为以0
开头的文字是八进制的,将它们与空格对齐。如果你想要数字0,但不是八进制怎么办?@KerrekSB:0代替00就可以了