返回指针值的函数

    技术2022-05-11  2

    #include <stdio.h> main() { float score[][4]={60,70,80,90,56,89,67,88,34,78,90,66}; float *search(float (*pointer)[4],int n); float *p; int i,m; printf("enter the number of student:"); scanf("%d",&m); printf("The socres of NO.%d are:/n",m); p=search(score,m); for(i=0;i<4;i++) printf("%5.2f ",*(p+i)); printf("/n"); } float *search(float (*pointer)[4],int n) { float *pt; pt=*(pointer+n);//不可错写成pt=*pointer+n,否则得到的结果就是以score[0][0]+n为起始地址的4个值。因为pointer是数组score[0]的地址,是一个行指针,在给pointer加上*之后就成为*pointer,而*pointer是列指针 return(pt); }


    最新回复(0)