[问题] 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