Arithmetic

C语言-指针函数

PineappleCat · 5月17日 · 2019年 497次已读

主函数定义一个二维数组,从键盘输入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;
 
}

Click here to view the copyright notice of this site(点击此处查看本站版权声明)
0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!