麻烦看看C语言的问题,求大神

读入一个整数,统计并输出该数中2的个数。要求定义并调用函数countdigit(number,digit),它的功能是统计整数number 中数字digit 的个数。例如,countdigit(10090,0) 的返回值是3。
int countdigit (int number,int digit){
int d,n,count;
do{
n=number;
d=n%10;
n=n/10;
if (d==digit) count ++;}while (n!=0);
return count;
}

#include

int main(void)
{

int x,t;
printf("Input an integer: ");
scanf ("%d",&x);
t=countdigit(x,2);

printf("Number of digit 2: %d",t);

}
输出不出来为什么呢

int countdigit (int number,int digit){
    int d,n,count=0;
        n=number;
    while (n!=0){

        d=n%10;
        n=n/10;
        if (d==digit) count ++;}
        return count;
    }

#include<stdio.h>

int main(void)
{

    int x,t;
    printf("Input an integer: ");
    x=123;
    t=countdigit(x,2);

    printf("Number of digit 2: %d",t);
} 

http://codepad.org/CWep1Tuz

你的循环整个不对,帮你改了。

你把 数学 “0” 给排除了

count =0;
你的count未赋值