因此,我必须编写一个对2d数组进行排序然后返回的程序,但我发现您无法从函数中返回数组。我尝试对此进行研究,但没有解决问题的方法。任何帮助表示赞赏,谢谢。
下面是我编写的用于对垂直行进行排序的函数。
int vertSort(int matrix[][51], int size)
{
for(c=0;c<size;c++)
{
for(r=0;r<size-1;r++)
{
if(matrix[c][r]>matrix[c][r+1])
{
printf("Swap row %d column %d with row %d column %d", r, c, r, c)
int tmp=matrix[c][r];
matrix[c][r]=matrix[c][r+1];
matrix[c][r+1]=tmp;
}
}
}
return matrix;
}
您的代码不需要返回任何内容,它可以修改调用方的数组副本。(无法通过C中的值传递数组)。将int
返回类型更改为void
,一切都会好起来的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句