我是C++的新手,需要帮助。我想打印“C”的值,但它仍然打印它的地址。这里是我的代码:为什么我的代码打印地址而不是数组内容?
#include <iostream>
using namespace std;
int* test (int a[5], int b[5]) {
int *c = new int[5];
for (int i = 0; i < 5; i++) c[i] = a[i]+b[i];
return c;
}
int main() {
int A[5] = {22, 33, 44, 55, 66};
int B[5] = {22, 33, 44, 55, 66};
int* C[10] = {test(A,B)};
for (int i = 0; i < 10; i++) cout<< &C[i] <<endl;
return 0;
}
感谢它的进步。
也停止使用'new []'。这是一个8行程序,你已经设法泄漏。改用'std :: vector'。这也将解决这个'int * C [10] = {test(A,B)}'的错误。 –
我希望你能理解什么时候结束,你失去了'&'你仍然要打印地址(其中10个;你的分配和9个NULL)。我相当有信心,这不是你的意图。 – WhozCraig
@BaummitAugen,我不确定这是什么意思。反正tnx,我会谷歌它。 – kuki