第3个回答 2008-05-18
利用传入指针参数做返回值
例子:
矩阵行列转换,其中b[M][N]就相当于是函数返回的数组
#include "stdio.h"
#define M 3
#define N 2
void swap(int a[M][N],int b[N][M]){
int i,j;
for(i=0;i<M;i++){
for(j=0;j<N;j++){
b[j][i]=a[i][j];
}
}
}
void main(){
int i,j;
int a[M][N],b[N][M];
for(i=0;i<M;i++){
for(j=0;j<N;j++){
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
}
swap(a,b);
for(i=0;i<M;i++){
for(j=0;j<N;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
for(i=0;i<N;i++){
for(j=0;j<M;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}