调试的时候输出一直是零//问题是输入一个区间求区间内的数中有4的数和该数数位上有62(相邻)的数的数量 //输入的整数m,n(0<n<m<=1000)

<c>
#include<stdio.h>
int check4(int arr[], int m, int n)
{
    int k, s, locate, sum1, number, temp,t;
    number = n;
    locate = 1;
    sum1 = NULL;
    while (locate <= m-n);
    {
        int i = NULL;
        temp = number;
        while (temp >= 10)
        {
            temp = temp / 10;
            i++;
        }
        s = 1;
        while (i--)
        {
            t = 1;
            for (s = 1;s <= i;s++)
            {
                t = t * 10;
            }
            k = number / s % 10;
            if (k == 4 || number % temp == 4)
            {
                sum1++;
                arr[locate] = 1;
                break;
            }
        }
        locate++;
        number++;
    }
    return sum1;
}

int check62(int m, int n, int arrS[], int arr[])
{

    int sign, s, k, sum2, number, temp,t;
    int locate = 1;
    sum2 = NULL;
    number = n;
    while (locate <= m - n)
    {
        temp = number;
        int i = 0;
        while (temp >= 10)
        {
            temp = temp / 10;
            i++;
        }
        sign = 1;//用来标识数位
        s = 1;
        while (i--)
        {
            t = 1;
            for (s = 1;s <= i;s++)
            {
                t = t * 10;
            }
            k = number / s % 10;
            if (t == 1)
            {
                arr[sign] = number % temp;
            }
            else
            {
                arr[sign] = k;
                sign++;
            }
        }
        for (int i = 0; i < sign; i++)
        {
            if (arr[i] == 6 && arr[i + 1] == 2)
            {
                sum2++;
                arrS[locate] = 1;
                break;
            }
        }
        locate++;
        number++;
    }
        return sum2;
}
    
    int reduce(int arr[],int arrS[],int m ,int n)
    {
        int reduce = NULL;
        for (int i = 0;i < m - n;i++)
        {
            if (arr[i] == arrS[i] && arr[i] == 1)
            {
                reduce++;
            }
        }
        return reduce;
    }


 int main()
{
    int m, n;
    printf("请输入区间[n,m]: ");
    scanf_s("%d %d", &m, &n);
    int temp[10];
    int  arr[1000];
    int arrS[1000];
    int sum1 = check4(arr,m,n);
    int sum2 = check62(m, n, arrS,temp);
    int sum = sum1 + sum2 - reduce(arr,arrS,m,n);
    printf("%d", sum);
    return 0;
}

第9行,while (locate <= m-n);后面的分号去掉。其它代码类似修改