for循环,如图所示,求1-10之间的素数

如图所示,求素数,我用 if 限制了 i 能整除 j 且 i 等于 j 时输出 i ,结果运行发现没有输出,我就设置了一个k看看什么情况,结果发现条件成立了,i 也不给 k 赋值,什么原因呢?

img

img

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i = 0;
    int j = 0;
    int k = 0;
    for (i = 1; i <= 10; i++)
    {
        for (j = 2; j <= i - 1; j++)
        {
            if (i%j == 0 && i == j)
            {    //break;
                k = i;
                printf("%d\n", k);
            }
        }
        //if (i == j)
        //{
            //printf("%d\n", i);
        //}
    }
    return 0;
}


#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i = 0;
    int j = 0;
    int k = 0;
    for (i = 1; i <= 10; i++)
    {
        if (i == 1)
            continue;
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                break;
            }
        }
        if (i == j)
        {
        printf("%d\n", i);
        }
    }
    return 0;
}