为什么我的函数打印地址而不是数组的内容?
Why does my function print an address instead of the contents of my array?
我的代码应该删除指定值并移动数组。当我 运行 代码时,它打印一个地址而不是数组的内容。我的代码有什么问题?
using namespace std;
void arrayShift(int arr[], int length, int value) {
for(int i = 0; i<length; i++) {
if(arr[i] == value) {
for (int k = i; k<length-1 ; k++) {
arr[k] = arr[k+1];
}
arr[length-1] = 0;
i--;
}
}
cout << arr;
}
int main() {
int inputarr[]={9,8, 9, 9, 9, 9, 6};
int length = 7;
int value = 9;
arrayShift(inputarr,length,value);
}
行
cout << arr;
显示一个地址,因为cout 不直接显示数组。
您应该使用 for 来显示您的所有值。类似的东西:
for(int i = 0 ; i < length ; i++)
cout << arr[i];
但是你真的应该把输出(对于 cout)放在 main 函数中。
我的代码应该删除指定值并移动数组。当我 运行 代码时,它打印一个地址而不是数组的内容。我的代码有什么问题?
using namespace std;
void arrayShift(int arr[], int length, int value) {
for(int i = 0; i<length; i++) {
if(arr[i] == value) {
for (int k = i; k<length-1 ; k++) {
arr[k] = arr[k+1];
}
arr[length-1] = 0;
i--;
}
}
cout << arr;
}
int main() {
int inputarr[]={9,8, 9, 9, 9, 9, 6};
int length = 7;
int value = 9;
arrayShift(inputarr,length,value);
}
行
cout << arr;
显示一个地址,因为cout 不直接显示数组。
您应该使用 for 来显示您的所有值。类似的东西:
for(int i = 0 ; i < length ; i++)
cout << arr[i];
但是你真的应该把输出(对于 cout)放在 main 函数中。