给i和j赋初值0了,但程序里就跳过0了

为什么到sun那,那个i和j都为0时,那个sun就直接跳过了,调试看着是这不对,但是不知道怎么改…
#include<stdio.h>
int main()
{
int a[3][3],i,j,sun=0,sum=0;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
scanf("%d",&a[i][j]);
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
if(i=j)
sun+=a[i][j];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
if((i+j)==2)
sum+=a[i][j];
printf("%d %d",sun,sum);
return 0;
}

修改见注释处,供参考:

#include<stdio.h>
int main()
{
    int a[3][3],i,j,sun=0,sum=0;
    for(i=0;i<=2;i++)
       for(j=0;j<=2;j++)
           scanf("%d",&a[i][j]);

    for(i=0;i<=2;i++)
        for(j=0;j<=2;j++)
            if(i==j)     //if(i=j)
               sun+=a[i][j];

    for(i=0;i<=2;i++)
         for(j=0;j<=2;j++)
             if((i+j)==2)
               sum+=a[i][j];
    printf("%d %d",sun,sum);
    return 0;
}

萌新觉得程序写错了,不会改是一件很头疼的事