求求大佬帮忙看下哪里出了问题,实在不知道了

题目:输入区间[L, R],输出在此区间内的质数个数

源代码:

#include <stdio.h>
#include <math.h>
int main() {
    int L, R;
    int i, j, a, b;
    scanf("%d%d", &L, &R);
    for (i = R; i >= L; i--)
    {
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                a++;
            }
        }
        if (a == 0)
        {
            b++;
        }
    }
    printf("%d", b);
}

#include <stdio.h>
#include <math.h>
int main() {
    int L, R;
    int i, j, a=0, b=0;//a、b要先初始化
    scanf("%d%d", &L, &R);
    for (i = R; i >= L && i>1; i--) //1不是质数
    {
		a=0;//先清零,受到避免上次结果的影响
        for (j = 2; j < i; j++)
        {
            if (i % j == 0)
            {
                a++;
            }
        }
        if (a == 0)
        {
            b++;
        }
    }
    printf("%d", b);
}