#include <stdio.h>
#include <stdlib.h>
void search(float *p,int n)
{
int i;
printf("the scores of NO.%d\n",n);
for (i=0;i<3;i++)
printf("%4.2f\t",*(*(p+n)+i)); \\就是这个地方。
}
main()
{
float score[3][3]={{65,67,69},{80,86,84},{50,90,76,}};
search(*score,2);=====>应该改成sorce,因为传送的是数组名的首地址!
system("PAUSE");
}
小女子先谢谢了~~
----------------解决方案--------------------------------------------------------
因为你实参(*score)传递的是一个列地址,表示0行0列;你自己写的函数里把p当作是指向行地址了
void search(float *p,int n)
{
int i;
printf("the scores of NO.%d\n",n);
for (i=0;i<3;i++)
printf("%4.2f\t",*(p+3*n+i)); \\这里改下应该可以了
}
----------------解决方案--------------------------------------------------------