void sort(int* A,int l)
{
int j;
int B[l];
for(int i=0;i<l;i++)
{
j = largest(A,l);
B[l-i-1] = A[j];
A[j] = -1;
}
A = B;
}
int main()
{
.
int C[3] = {x,y,z};
...
sort(C,3);
cout<<C[0]<<C[1];
}
输出即将是-1-1 但是,如果我们分配A [0] = B [0]等,那么我们得到了正确的答案。 PS:我试过使用* A = * B,它只是给出第一个元素是正确的。阵列没有被正确分配
需要初始化数组'INT B [1];'。试试'int B [l] = {};' – Himanshu 2014-12-02 06:34:08
@Himanshu是真的吗? – 2014-12-02 06:36:59
'A = B'在这里没有做任何明智的事情。从函数返回后,这两个变量都超出范围。您应该将'B'的内容复制到'A'中循环或使用'std :: copy'。 – 2014-12-02 06:37:19