[問題] c語言新手指標問題!

作者: jeson60 (神空暗夜)   2016-05-21 16:46:43
最近再透過看書自學 學到指標的時候有一題是
叫我利用指標運算以及函數來找出最大最小值
寫完以後卻在主程式使用函數的時候系統說無法讀取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);
}
}
作者: tony21177   2016-05-21 16:57:00
void srh(int a[][col],int *)相當於void srh(int (*a) [col],int *)妳的其實是相當於Void srh(int * (a[][col]), int *b )
作者: jeson60 (神空暗夜)   2016-05-22 01:45:00
感謝tony大我思考看看!

Links booklink

Contact Us: admin [ a t ] ucptt.com