尿完尿抖一抖
2020-11-30 17:46
采纳率: 100%
浏览 29

C语言问题,输出矩阵对角线元素之和,代码出什么问题了?

#include <stdio.h>

int main()
{
    int a[3][3]={{2,2,2},{3,11,4},{4,4,9}};
    int i,j,sum=0;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
        {
            if(i=j)
            {
                sum+=a[i][j];
            }
        }
    printf("ºÍΪ£º%d\n",sum);
    return 0;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • yinjun2024 2020-11-30 20:24
    已采纳

    您好,您的代码 `if` 里面 `i=j` 应该为 'i==j`,判断相等应该打两个等号

    点赞 打赏 评论
  • 黑暗守护者 2020-11-30 20:23

    外层循环的大括号呢?

    点赞 打赏 评论
  • 无所求者无能 2020-11-30 21:01

    i==j,i=j是赋值,判断是否相等是==

    点赞 打赏 评论
  • qq_25376897 2020-12-01 11:10
    #include <stdio.h>
    
    int main()
    {
        int a[3][3]={{2,2,2},{3,11,4},{4,4,9}};
        int i,j,sum=0;
        for(i=0;i<3;i++)
            for(j=0;j<3;j++)
            {
                if(i==j) //比较相等用==
                {
                    sum+=a[i][j];
                }
            }
        printf("矩阵对角线元素之和为%d\n",sum);
        return 0;
    }
    点赞 打赏 评论
  • fenxuehaiyan 2020-12-01 12:45

    if语句中条件应为   i==j,C语言中=表示赋值,==表示等于,才能判断当行和列的下表相同时获得对角线元素。

    点赞 打赏 评论

相关推荐 更多相似问题