#include
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);
}
}
}
}