二维数组与数组指针关系

来源:互联网 发布:sql注入是什么 编辑:程序博客网 时间:2024/06/06 01:07

算法描述:

有一个半,3个学生,各学4门课,计算总平均分以及第n个学生的成绩

#include <stdio.h> int main()  {void average(float *p, int n);void search(float (*p)[4], int n);float score[3][4] = {{65, 67, 70, 60}, {80, 87, 90, 81}, {90, 99, 100, 98}};average(*score, 12);//*score   <---------->   &score[0][0]二维数组首元素首地址表示法search(score, 2);//score表示数组0行起始地址return 0;}void average(float *p, int n){float *p_end;float sum = 0, aver;p_end = p + n -1;//最后一个元素的地址for(; p <= p_end; p++)sum = sum + (*p);aver = sum / n;printf("average = %5.2f\n", aver);}void search(float (*p)[4], int n){int i;printf("the score of No.%d are:\n", n);for(i = 0; i < 4; i++)printf("%5.2f\n", *(*(p + n) + i));//*(p + n) + i   <-------------->   &score[n][i]printf("\n");}