编辑代码

#include <stdio.h>
void  f_b(int *b,int n)            //a[]=*a,即指针位置
    {                              //a[1]=*(a+1)                        
        int i,j;                   //a[i]=*(a+i)
        for(i=0;i<n;i++)
        {   
            for(j=0;j<n;j++)
            scanf("%d",&b[i][j]);
        }                          //此处void函数的作用录入数据作用,此时a[i]的值尚未知,
    }                              //&a[i]意思即为a[i]所分配位置指针
                              
    
void  f2_b(int *b,int n)
    {
        int i,j;
        for(i=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            printf("%d\n",*(b+i+j));
        }    
    } 
void  h_b(int *b,int n)
    {
        int i,h,j;
        for(i=0,h=0;i<n;i++)
        {
            for(j=0;j<n;j++)
            h+=b[i][j];
        }    
        printf("%d",h);          
    }
int main () 
{
        int n,i;
        printf("请输入数组长度\n");
        scanf("%d",&n);
        int a[n][n],b[n][n];
        f_b(b,n);                 //此处a即数组名
        f2_b(b,n);
        h_b(b,n);
    return 0;
}