java!c! 2023-07-21 09:15 采纳率: 100%
浏览 57
已结题

[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;
    }
}

怎么修正这个错误呢

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2023-07-21 09:52
    关注

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

    #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;
            }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月29日
  • 已采纳回答 7月21日
  • 创建了问题 7月21日

悬赏问题

  • ¥15 关于#单片机#的问题:以ATMEGA128或相近型号单片机为控制器设计直流电机调速的闭环控制系统(相关搜索:设计报告|软件设计|流程图)
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥30 电脑误删了手机的照片怎么恢复?
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办