[Error] invalid operands to binary * (have 'int' and 'int *')

[Error] invalid operands to binary * (have 'int' and 'int *')

使用void convert(int *pt)实现矩阵的转置

#include<stdio.h>
void convert(int *pt);
void main(){
    int a[4][4],*p,i,j;
    printf("请输入4*4矩阵元素的值:\n");
    for(i=0;i<4;i++)
    for(j=0;j<4;j++)
    scanf("%d",&a[i][j]);
    p=&a[0][0];
    printf("转置后的矩阵为:\n");
    for(i=0;i<4;i++){
        for(j=0;j<4;j++)
        printf("%d ",a[i][j]);
        printf("\n");
    }
}

void convert(int *pt){
    int i,j,t;
    for(i=0;i<4;i++)
    for(j=0;j<4;j++){
        t=*((pt+4*i)+j)
        *((pt+4*i)+j)=*((pt+4*j)+i);
        *((pt+4*j)+i)=t;
    }
}

怎么修正这个错误呢

代码共有三处问题,见注释“修改”,供参考:

#include<stdio.h>
void convert(int* pt);
void main() {
    int a[4][4], * p, i, j;
    printf("请输入4*4矩阵元素的值:\n");
    for (i = 0; i < 4; i++)
        for (j = 0; j < 4; j++)
            scanf("%d", &a[i][j]);
    p = &a[0][0];

    convert(p);  // 函数调用  修改

    printf("转置后的矩阵为:\n");
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 4; j++)
            printf("%d ", a[i][j]);
        printf("\n");
    }
}

void convert(int* pt) {
    int i, j, t;
    for (i = 0; i < 4; i++)
        for (j = i; j < 4; j++) { //for (j = 0; j < 4; j++)  修改
            t = *((pt + 4 * i) + j);  // 这行末尾缺了分号';' 修改
            *((pt + 4 * i) + j) = *((pt + 4 * j) + i);
            *((pt + 4 * j) + i) = t;
        }
}

#include<stdio.h>

void convert(int *pt);

int main(){
    int a[4][4],*p,i,j;
    printf("请输入4*4矩阵元素的值:\n");
    for(i=0;i<4;i++)
        for(j=0;j<4;j++)
            scanf("%d",&a[i][j]);

    p = &a[0][0];
    
    printf("转置前的矩阵为:\n");
    for(i=0;i<4;i++){
        for(j=0;j<4;j++)
            printf("%d ",a[i][j]);
        printf("\n");
    }
    
    // 调用矩阵转置函数
    convert(p);
    
    printf("转置后的矩阵为:\n");
    for(i=0;i<4;i++){
        for(j=0;j<4;j++)
            printf("%d ",a[i][j]);
        printf("\n");
    }
    
    return 0;
}
 
void convert(int *pt){
    int i,j,t;
    for(i=0;i<4;i++)
        for(j=0;j<4;j++){
            t=*((pt+4*i)+j);
            *((pt+4*i)+j)=*((pt+4*j)+i);
            *((pt+4*j)+i)=t;
        }
}