c - 如何从 C 函数返回二维数组?

标签 c arrays return

所以我必须编写一个程序来对二维数组进行排序然后返回它,但我刚刚发现你不能从函数返回数组。我尝试对此进行研究,但没有解决问题。感谢您的帮助,谢谢。

下面是我编写的用于对垂直行进行排序的函数。

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,一切都会好起来的。

关于c - 如何从 C 函数返回二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26540795/

相关文章:

c++ - 如何使用 CreateProcess 将输出重定向到文件?

c - 我想为我的学习实现一个小的路由表。我知道它是在路由器中使用基数/帕特里夏树实现的

c - printf epochtime 显示错误的值

javascript - Array.prototype.splice 的意外行为

c++ - 二进制搜索树数组 Imp。 C++

css - 将有序的元素数组拆分为 HTML 中的交替列

javascript - 如何将数组(Google 应用脚本)返回到 HTML 侧边栏?

c - Visual Studio 2015 WDK 不工作

javascript - 使用 Ext.Ajax.request 使 ExtJS 单例返回对象

PHP 返回行