函数返回值问题
如何在一个函数中得到其中的一个参数的值,比如:
void sort(ElemType *p,int n)
{ int i,j;
int *m,*q;
char *ap,*bp,c[10],d[10];
ap=c;bp=d;
for(j=0;j <n-1;j++)
for(i=0;i <n-1;i++)
{ m=&((p+i)-> key);
q=&((p+i+1)-> key);
ap=((p+i)-> name);
bp=((p+i+1)-> name);
swap(m,q,&ap,&bp);
}
}
中要得到函数中的指针;ap和bp返回值,如何实现。
[解决办法]
参数返回,比如
int get_min_max(int a, int b, int* max, int* min) {
if (!max || !min) return false;
*max = max(a, b);
*min = min(a, b);
return ture;
}
[解决办法]
可以用指针的引用做为形参来代回函数处理后的结果
void sort(ElemType *p,int n,char *&ap,char *&bp)
{
....// 一些处理
}
调用时这样:
char *ap,*bp;
sort(p,n,ap,bp);
之后ap和bp就有了在函数取得的值了