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

integer array element with leading 0 showing garbage output

本文关键字:输出 表示 数组元素 前导 整数      更新时间:2023-10-16

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

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

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

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

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

你不会得到">垃圾"值;编译器主要将数组中具有前导零的值(如 012(解释为八进制值。然后编译器将其转换为十进制值(对于 012,它是 10(并输出该值。

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