关于#for#的问题,如何解决?

求素数之和的问题
结果有问题
这是为什么?
例如输入100;
输出732;
但是如下代码算出来18;


#include
int main()
{
    int high;
    int i,shu,j,sum=0;
    scanf("%d",&high);
    for(i=high;i;i--)
    {
        for(j=2;jif(i%j!=0)
            continue;
            else
            break;
        }
        if(i=j)
        {
            shu++;
            sum=sum+j;
        }
        if(shu==10)
        break;
    }
    printf("%d",sum);
}

改动处见注释,供参考:

#include<stdio.h>
int main()
{
    int high;
    int i,shu = 0,j,sum = 0; //修改
    scanf("%d",&high);
    for(i=high;i>0;i--)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0) //if(i%j!=0)修改
                //continue; 修改
                //else       修改
            break;
        }
        if(i==j)//if(i=j) 修改
        {
            shu++;
            sum=sum+j;
        }
        if(shu == 10)
           break;
    }
    printf("%d",sum);
    return 0;
}