double a[][5] = { { 86, 85.5, 73.5, 61, 79 },{ 62.5, 74, 70.5, 92, 86 },{ 73.5, 66, 85.5, 96, 61 },{ 65, 72.5, 68, 98.5, 81 } };
double *locate_student(double(*student)[5], int n);
double print_score(double *p);
int m;
double *locate = &a[0][1];
//问题出现在这里,没有对声明的指针进行初始化
//你这样定义,会造成指针变成野指针
//解决方法,将指针置为NULL或者给指针一个合法的地址
//因为在下面需要给指针指向的地址赋值,所以不能给指针置为NULL,
//这里解释一下,因为NULL指向的区域为空闲区域,不允许赋值
//所以这里应该改成,给指针一个合法的地址,就是定义一个double变量,将地址赋给这个指针
printf("please input the number of student:\n");
scanf_s("%d", &m);
printf("the score of student %d is:\n", m);
*locate = *(locate_student(a, m));