南宁金太阳教育:自定义一个函数,对一个二维数组排序后,如何返回排序后的数组

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 10:57:24
最后一行出现错误
int line(int s[ ][2])
{
int k,t,m,i,j;
for(k=N-1;k<N;k++);
if(s[k-1][1]<s[k-2][1])
{
t=s[k-2][1];
s[k-2][1]=s[k-1][1];
s[k-1][1]=t;
m=s[k-2][0];
s[k-2][0]=s[k-1][0];
s[k-1][0]=m;
}
return (s[][]);
}
G:\新建文件夹\2.cpp(16) : error C2059: syntax error : ']'

返回s即可,s其本身就是一个二位数组的指针.

当s[][2]作为参数传递进来的时候,实际上接受的是指针,而在返回的时候,s[][]代表的是具体的值了,
比如说你在操作字符串的时候,返回的是指针地址吧?而不是[][]等等.

总的来说,此处的s[][]中的是不应该出现的.
应改为s.返回数组地址.

用不着返回,
经过此函数之后,S二微数组已经改变了,返回已经没有任何意义了

返回值是一个指针
当然不对了

我不同意上面的看法
对于形式参数s[][2]则是作为实际参数的一个别名啊怎么会能改变呢?
我认为应该用指针参数

将函数定义为
int *line(int s[ ][2])

返回时的语号句改为:
return(s);