关于C语言一个简单的问题。

2025-03-04 13:04:25
推荐回答(2个)
回答1:

#include
#include
int fun(int **x,int n)
{
    int i,j,result;
    int *sum;
    sum = (int*)malloc(sizeof(int*)*(2*n+2));
    for(i=0;i<2*n+2;i++)
        sum[i] = 0;
    for(i=0;i        for(j=0;j            sum[i] += x[i][j];
    for(i=0;i        for(j=0;j            sum[i+n] += x[j][i];
    for(i=0;i        sum[2*n] += x[i][i];
    for(i=n-1;i>=0;i--)
        sum[2*n+1] += x[i][n-i-1];
    printf("各行各列及对角线的和:\n");
    for(i=0,result=1;i<2*n+2;i++)
    {
        if(sum[i]!=sum[0])
            result = 0;
        printf("%d ",sum[i]);
    }
    printf("\n");
    return result;
}
void main()
{
    int **a;
    int n,i,j;
    scanf("%d",&n);
    a = (int**)malloc(sizeof(int*)*n);
    for(i=0;i        a[i] = (int*)malloc(sizeof(int*)*n);
    for(i=0;i        for(j=0;j            scanf("%d",&a[i][j]);
    printf("返回值:%d\n",fun(a,n));
}

望采纳~

回答2:

在调用的函数中可以这么写

定义一个指向整型数据的指针a和一个指针的指针b,在定一个整型变量c
int *a;
int **b=&a
int c;
a=&c;
fun(b,c);
.........