c语言判断素数哪里错了

img


程序如题,请问哪里出问题了?

zs函数中break拿掉,else拿掉,return 0;放到最后
main函数中if(p=1)改成if(p==0)


int zs(int n)
{
    if (n == 1)
        return 0;
    int i;
    for (i = 2; i * i <= n; i++)
    {
        if (n % i == 0)
        {
            return 0;
        }
    }
    return 1;
}

p==1
=是赋值,==才是判断

第十行 改为p==1
还有你的22行,循环遇到re turn会停止循环的,所以一直return 1,所以输出一直是质数

可以采纳一下吗?小生先谢谢了!🙈🙈🙈