c语言循环素数个数的问题

那个m小于等于n我不知道怎么表示出来,然后代码输出的是错误的,不知道代码哪里有问题

img

img

img

img

完全错乱啊

#include <stdio.h>
int isprime(int n)
{
      if(n<=1)
        return 0;
      for(int i=2;i*i<=n;i++)
          if(n%i==0)
              return 0;
      return 1;
}
int main()
{
    int m,n;
    scanf("%d%d",&m,&n);
    if(m>n)
    {
        int t = m;
        m = n;
        n = t;
    }
    int count = 0;
    for(int i=m;i<=n;i++)
        if(isprime(i) == 1)
            count++;
    printf("%d",count);
    return 0;
}
#include <stdio.h>
#include <math.h>

bool is_prime(int n)
{
    int i, k;
    if (n == 1)
        return false;
    k = sqrt(n);
    for(i=2; i<=k; i++)
    {
        if(n % i == 0)
            break;
    }
    if (i <= k)
        return false;
    else
        return true;
}

int main()
{
    int m, n, count = 0, i;
    scanf("%d %d", &m, &n);
    for (i=m; i<=n; i++)
    {
        if (is_prime(i))
            count++;
    }
    printf("%d", count);
    return 0;
}