最近再透過看書自學 學到指標的時候有一題是
叫我利用指標運算以及函數來找出最大最小值
寫完以後卻在主程式使用函數的時候系統說無法讀取a的陣列 我之後尋求
朋友的幫助以後他將函數改成void srh(int a[][col],int *)就可以了
但我還是不懂為什麼不能讀取a的陣列! 想請教各位大大!!
程式碼如下!
#include<stdlib.h>
#include<stdio.h>
#define row 4
#define col 3
void srh(int *a[][col], int *);
int main(void)
{
int a[row][col] = { { 26, 5, 7 }, { 10, 3, 47 }, { 6, 76, 8 }, { 40, 4, 32 }
};
int i, j, b[2] = {};
printf("array is :\n");
for (i = 0; i<row; i++)
{
for (j = 0; j<col; j++)
printf("%3d", *(*(a + i) + j));
printf("\n");
}
srh(a, b);
printf("max is %d\n", *(b + 1));
printf("min is %d\n", *b);
system("pause");
return 0;
}
void srh(int *a[][col], int *b)
{
int i, j;
*b = *a;
*(b + 1) = *a;
for (i = 0; i<row; i++)
for (j = 0; j<col; j++)
{
if (*(*(a + i) + j) < *b )
*b = *(*(a + i) + j);
if (*(*(a + i) + j) > *(b + 1))
*(b + 1) = *(*(a + i) + j);
}
}