为啥这个代码无论是不是质数,都判定为质数

为啥无论是啥数都是质数?这个错在哪里了呢?真的不太懂了。觉得没有错误啊

img

我写了一个判质数的函数,返回1是质数,0不是质数,参考如下【你对比下就知道了】:

int prime(int x)
{
    int i;
    int flag = 1;
    for (i = 2; i <= sqrt(x); i++)
    {
        if (x % i == 0)
        {
            flag = 0;
            break;
        }
    }
    return flag;
}

img