我正在使用 new 声明一个数组
int *a = NULL;
a = new int[10];
a[0] = 23;
a[1] = 43;
a[2] = 45;
a[3] = 76;
a[4] = 34;
a[5] = 85;
a[6] = 34;
a[7] = 97;
a[8] = 45;
a[9] = 22;
PrintElements(a, 10);
void PrintElements(int * array, int size){
for (int i=0; i<size; i++) {
cout << endl << array[i];
}
}
现在,当我打印这些值时,我得到了这些值
17 2b 2d 4c 22 55 22 61 2d 16
有人可以告诉我我做错了什么......? 另一方面,当我不使用新数组并在没有它的情况下初始化数组时,一切正常。
最佳答案
你可能在某个时候向 cout 写入了一个 std::hex;这将一直有效,直到被覆盖。
关于C++:打印数组时意外获取十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3381595/