#include<stdio.h>
void search(float(*p)[4],int n);
void average(float *p,int n)
{//第一种指针不动
int i=0;
float sum=0.0,aver=0.0;
for(i=0; i<n; i++)
sum+=p[i];//第一种
sum+=*(p+i);//第二种
aver=sum/n;
//—————————第二种———动指针————————
float *p₋end;
p₋end=p+n-1;//最后一个元素为长度-1
for(; p<=p₋end; p++)
sum+=*p;
aver=sum/n;
for(; p<)
printf("sum=%5.2f,aver=%5.2f\n",sum,aver);
}
void search(float(*p)[4],int n)
{
int i=0;
for(i=0; i<4; i++)
printf("%6.1f\n",p[n][i]);//第一种
//也可以写成
printf("%6.1f",*(*(p+n)+i));//第二种
}
int main()
{
float score[3][4]= {65,67,70,60,80,87,90,81,90,99,98,100};
average(*score,12);//传列地址过去,所以要遍历每个元素
search(score,2);//传行地址过去,只用遍历三行
return 0;
}
c语言二维数组与指针的应用
最新推荐文章于 2024-12-28 12:01:20 发布