C语言自定义函数 数组冒泡排序 返回排序后的数组,怎么返回一个数组。

如题所述

第1个回答  2017-02-15
通常操作数组的时候,你发送的实参就是数组的首地址;所以直接void类型就可以;但是如果一定要设返回值的话;直接把形参接收的首地址返回就可以了!
你的代码中,有很大的问题;如果是的代码中这样设定要想不出问题,那么那个数组要在堆中分配;即malloc一块地址;
其次,int paixu() 改成int *paixu();
再次;return arr;就可以
如果你的程序需要作为接口给别人的,那么你这个写法显然是不对的;因为别人不知道怎么解析你这个接口返回的地址;知道是数组也不知道数组的元素个数!
再说你这个冒泡排序;也出问题了!j不会递增,也就是当执行到里面的循环后就是个死循环!追问

又改了一下  如果是int *paixu(int *s, int n)  在上边的话它提示说b = paixu(a,5);  不接受两个参数,  如果把int *paixu(int *s, int n)  放了int main()  下边就可以   这是为啥??

追答

没有看懂你说的意思!你重新贴图的这张;函数的声明与实现是不同的,自己没有发现吗

本回答被提问者采纳
相似回答