C语言这个程序设计
设有七个学生,每个学生有4门成绩。编写一个函数,输入学生序号,输出其全部成绩,用指针函数实现.(教科书上的源程序)#include <stdio.h>
float *seek(float(*p)[4],int n)
{
return*(p+n-1);
}
void main(void)
{
float score[][4]={{67.5,54.5,56,72},{90,86.5,88,82},{62,66,70,57},{88,91,95,87},{73,78,80,82}
{79,70,67.5,75},{68,73,71,79}};
int nun;
float *sp,*tp;
print("input number");
scanf("%d",&num);
sp=seek(score,num);
print("\n");
for(tp=sp;tp<sp+4;tp++)
print("%6.12f",*tp);
}
我觉得其中return*(p+n-1);应该改为return p+n-1;因为是返回指针啊,如果按照源程序的话,比如我输入3返回的应该是62,66,70,57不知道对不对,请高手指点下哈
还有,这样一段代码,
int a[5];
int *p;
p=a;
*(p+2)=5;
当执行完最后一条语句后,p指向什么地方啊