C语言-指针函数
主函数定义一个二维数组,从键盘输入3个人的成绩(每人四科),由search()函数找出所有分数中最高分的地址,然后由主函数输出这个最高分。
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int *search(int *p){
int i,j,k=0,b=0,max=0;
max=*p;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++){
if(*(p+i*4+j)>max){
max =*(p+i*4+j);
k=i;
b=j;
}
}
}
return p+4*k+b;
}
int main()
{
int *search(int *p) ; //声明被调函数
int score[3][4], i, j;
int *p;
for(i=0; i<=2; i++)
for(j=0; j<=3; j++)
scanf("%d",&score[i][j]);
p=search(score[0]); //调用search()函数
printf("%d\n", *p);
for(i=0; i<=2; i++) //输出数组的原始数据
for(j=0; j<=3; j++)
printf("%3d",score[i][j]);
return 0;
}