整数数组元素,前导0显示垃圾输出

时间:2017-04-03 23:47:24

标签: c++

我有一小段代码,它有一个整数数组,包含一些前导为0的元素。

int arr[]={012,234,071};
cout<<arr[0]<<endl; //output 10
cout<<arr[1]<<endl; //output 234
cout<<arr[2]<<endl; //output 57

由于某种原因,我得到的值为前导零的值不同,有人可以向我解释为什么会发生这种情况吗?

2 个答案:

答案 0 :(得分:4)

假定前导零的数字文字是八进制数。不要使用前导零。

答案 1 :(得分:0)

  

整数数组元素,前导0显示垃圾输出

您没有获得“垃圾”值;编译器主要将数组中具有前导零的值(如 012 )解释为八进制值。编译器然后将其转换为十进制值(对于 012 ,它是 10 )并输出。

如果使用十进制系统,请不要使用前导零。