怎么编写这个程序搞不明白

试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1,2,3,4,5,6,7,8,9,10,11中,数字1出现了4次。

输入格式

2个整数n,x,之间用一个空格隔开。

输出格式

1个整数,表示x出现的次数。

供参考:

#include<stdio.h>
int main()
{
     int i,n,m,x,k=0;
     scanf("%d%d",&n,&x);
     for(i=1;i<=n;i++)
     {
         m = i;
         while(m)
         {
             if( m%10 == x) k++;
             m /= 10;
         }
     }
     printf("%d",k);
     return 0;
}