189 8069 5689

用c语言函数接受二维数组 用c语言函数接受二维数组的值

C语言设计函数:接受一个二维数组,用指针方式返回数组的最大值,最小值

#include stdio.h

创新互联建站是专业的柞水网站建设公司,柞水接单;提供成都网站设计、成都网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行柞水网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

void get_val(int array[][200], int m, int n, int *max, int *min)

{

int i, j;

for(*max = array[0][0], *min= array[0][0], j = 0; j m; j++){

for(i = 0; i n; i++){

if(*max array[j][i]){

*max = array[j][i];

}

if(*min array[j][i]){

*min = array[j][i];

}

}

}

}

int main(int argc, char *argv[])

{

int array_test[100][200];

int j, i, max, min;

for(j = 0; j 100; j++){

for(i = 0; i 200; i++){

array_test[j][i] = i*j;

}

}

get_val(array_test, 100, 200, max, min);

printf("max:%d,min:%d\n",max,min);

}

编译通过并通过测试,另外还可以通过指针传递:

void get_val(int *array, int m, int n, int *max, int *min)

{

int i, j;

for(*max = *array, *min= *array, j = 0; j m; j++){

for(i = 0; i n; i++){

if(*max *(array+j*n+i)){

*max = *(array+j*n+i);

}

if(*min *(array+j*n+i)){

*min = *(array+j*n+i);

}

}

}

}

转:C语言中如何将二维数组作为函数的参数传递

下面例子,作为 指针传递 和 行指针传递。

#include stdio.h

void fun(int *p1,int (*p2)[3], int row, int col){

int i,j;

for (i=0;i3;i++){

for (j=0;j4;j++) {

printf("%d ",p1[i*col+j]);

p2[j][i]=p1[i*col+j];

};

printf("\n");

};

}

int main(){

int a[3][4],b[4][3];

int i,j;

for (i=0;i3;i++)for (j=0;j4;j++) a[i][j]=(i+1)*10+j;

fun(a[0][0],b[0], 3,4);

printf("\n");

for (i=0;i4;i++){

for (j=0;j3;j++) printf("%d ",b[i][j]);

printf("\n");}

return 0;

}

或这样:

void fun(int p1[3][4],int p2[4][3]){

int i,j;

for (i=0;i3;i++){

for (j=0;j4;j++) {

printf("%d ",p1[i][j]);

p2[j][i]=p1[i][j];

};

printf("\n");

};

}

调用: fun(a,b); 即可。

c语言函数怎么传入一个二维数组

这样传:

函数声明:Func(变量类型 *[二维数组的列长] arry);

char arry[][4] ;

Func(arry);

C语言中如何用gets();语句来接收一个二维数组

gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

因为gets函数是以换行符为分隔,所以用一层循环即可读取一个二维数组。对于每行字符串,使用sscanf读取每个数。

例如:

char s[100];

int a[3][3],i;for(i=0;i3;i++){

gets(s);

sscanf(s,"%d%d%d",s[i],s[i]+1,s[i]+2);

}


名称栏目:用c语言函数接受二维数组 用c语言函数接受二维数组的值
文章源于:http://jkwzsj.com/article/ddepojp.html

其他资讯