c语言,给一个整数,判断是否为素数

img


帮我看见看我这代码为什么不对,错在哪里了。
循环里面套着if语句,


#include <stdio.h>
int main()
{
    int x, i;
    printf("请输入一个数:\n");
    scanf("%d", &x);
    i = 2;
    while( 2 <= i && i <= x - 1)
    {
        if(x%i == 0)
        {
            printf("不是素数\n");
            break;
        }
        i++;
    }
    if(i == x)
    {
        printf("是素数\n");
    }
    return 0;
}

2 < i < x - 1这种写法是不对的
改成
for(int i = 2;i < x;i++){

}

这里都语法错误了 改成 i>2&&i<x-1
2<i<=x-1 先计算 2<=i,结果是一个boolean值,条件成立结果是1,条件不成立是0,所以不管i值是多少,最终产生的就是1或者0,再计算(1或者0)<=x-1,只要 x-1>1那就是一定成立的

img