无论我如何尝试,我都无法通过这个问题。正如您所看到的,我正在使用二维数组中的指针进行排序。
int i,temp;
int *ptr;
int arry[1][8]={12,13,9,1,8,9,4,3};
int col,row;
cout<<"First: ";
for(i = 0; i< 8;i++){
cout<<" "<<arry[0][i];
}
cout<<endl;
for(col=0;col < 8;col++){
for(row=col+1;row <= 8;row++){
if(*(*(arry + 0) + col) > *(*(arry + 0) + row)){
temp= *(*(arry + 0) + col);
*(*(arry + 0) + col) = *(*(arry + 0) + row);
*(*(arry + 0) + row) = temp;
}
}
}
cout<<"Output:";
for(i=0;i<8;i++)
cout<<" "<<arry[0][i];
答案 0 :(得分:0)
看起来你只是在数组中存储值,而不是指针。
更改符号,以便将现有循环更常规的数组寻址,我们会有类似的东西,可能更具可读性。
if(arry[0][col]) > arry[0][row]){
temp=arry[0][col];
arry[0][col] = arry[0][row];
arry[0][row] = temp;
}
如果你想使用指针表示法,你可以用*(*(arry + i)+ j)代替arry [i] [j],但这是一回事。您是否希望通过指针表示法获得额外的东西?