| 
 | 
 
 
发表于 2020-12-16 21:42:40
|
显示全部楼层
   本楼为最佳答案    
 
 
- #include <stdio.h>
 
  
- int main(void)
 
 - {
 
 -         int a[4][4] = {0} , b[4] , i , j , k , * p1 = a[0] , (* p2)[4] = a      ;
 
 -         for(i = 0 ; i < 4 ; i ++) {
 
 -                 for(j = 0 ;j < 4 ; j ++) scanf("%d" , & a[i][j])                ;
 
 -                 fflush(stdin)                                                   ;
 
 -         }
 
  
- //用二维数组指针寻找行最大值
 
  
-         for(i = 0 ; i < 4 ; i ++) {
 
 -                 b[i] = * (* (p2 + i)) ;
 
 -                 for(j = 0 ; j < 4 ; j ++) {
 
 -                         if(* (* (p2 + i) + j) > b[i]) b[i] = * (* (p2 + i) + j) ;
 
 -                 }       
 
 -         }
 
 -         for(i = 0 ; i < 4 ; i ++) printf("%d\n" , b[i])                         ;
 
 -         for(i = 0 ; i < 4 ; i ++) b[i] = 0                                      ;
 
  
- //用一维数组指针寻找行最大值
 
  
-         for(i = 0 ; i < 16 ; i ++) {
 
 -                 if(! (i % 4)) {
 
 -                         b[i / 4] = * (p1 + i)                                   ;
 
 -                 } else {
 
 -                         if(* (p1 + i) > b[i / 4]) b[i / 4] = * (p1 + i)         ;
 
 -                 }
 
 -         }
 
 -         for(i = 0 ;i < 4 ; i ++) printf("%d\n" , b[i])                          ;
 
 - }
 
  复制代码 |   
 
 
 
 |