zxgt5y 发表于 2020-12-16 20:16:25

求助c语言指针问题

从键盘为数组a输入数据,分别用指向数组元素的指针变量和指向一维数组的指针变量输入输出数组元素,求该数组每一行的最大值,将这些值保存在一维数组b中

jackz007 发表于 2020-12-16 21:42:40

#include <stdio.h>

int main(void)
{
      int a = {0} , b , i , j , k , * p1 = a , (* p2) = a      ;
      for(i = 0 ; i < 4 ; i ++) {
                for(j = 0 ;j < 4 ; j ++) scanf("%d" , & a)                ;
                fflush(stdin)                                                   ;
      }

//用二维数组指针寻找行最大值

      for(i = 0 ; i < 4 ; i ++) {
                b = * (* (p2 + i)) ;
                for(j = 0 ; j < 4 ; j ++) {
                        if(* (* (p2 + i) + j) > b) b = * (* (p2 + i) + j) ;
                }      
      }
      for(i = 0 ; i < 4 ; i ++) printf("%d\n" , b)                         ;
      for(i = 0 ; i < 4 ; i ++) b = 0                                    ;

//用一维数组指针寻找行最大值

      for(i = 0 ; i < 16 ; i ++) {
                if(! (i % 4)) {
                        b = * (p1 + i)                                 ;
                } else {
                        if(* (p1 + i) > b) b = * (p1 + i)         ;
                }
      }
      for(i = 0 ;i < 4 ; i ++) printf("%d\n" , b)                        ;
}
页: [1]
查看完整版本: 求助c语言指针问题