扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
#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);
}
}
}
}
下面例子,作为 指针传递 和 行指针传递。
#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); 即可。
这样传:
函数声明:Func(变量类型 *[二维数组的列长] arry);
char arry[][4] ;
Func(arry);
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);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流