//_38_二维数组指针
//_38_main.cpp
//实例:有一个班级共三名学生各学习四门课,要求计算出这个班级的额总平均分
//以及第n个学生的成绩
#include <stdio.h>
#include <stdlib.h>
int main()
{
//声明子函数
void average(float *point,int n);
void search(float(*point)[4],int);
//定义一个静态存储数组并赋初值
static float score[4][4]={{76,90,92,87},{78,68,69,94},
{45,56,67,78},{78,68,69,94}};
printf("班级的总平均分:");
average(*score,16);//传入score[0]的地址
printf("请输入学生的学号(0-3):");
int number;
scanf("%d",&number);
search(score,number);//传入第0行首地址
system("pause");
return 0;
}
//子函数定义
void average(float *point,int n)//point是一个指向实型变量的指针变量
{
float *p_end;
p_end=point+n-1;
float sum=0;
for(;point<p_end;point++)
sum=sum+*point;
float aver=sum/n;
printf("%5.2f\n",aver);
}
//指向指针数组的指针
void search(float (*point)[4],int n)//point是一个指向包含四个元素的一维数组的指针变量
{
//*(point+n)是point[n]的地址
//(*(point+n)+i)是point[n][i]的地址
for(int i=0;i<4;i++)
printf("%5.2f ",*(*(point+n)+i));
printf("\n");
}
38_二维数组指针
最新推荐文章于 2024-08-19 19:55:55 发布