请编写函数,用循环方法求自然数的位数。我的输出结果都是0,咋回事啊?

#include <stdio.h>

int NumDigit(int number);

int main()
{
int n;
scanf("%d", &n);
printf("%d\n", NumDigit(n));
return 0;
}

/* 你提交的代码将被嵌在这里 */

int NumDigit(int number)

{
int n;
int NumDigit=0;

while ( n> 0 )
{
NumDigit++;
n /= 10;
}

return 0;
}

n没有初始化,把int n;改为int n = number;,最后return NumDigit;

你后面写这个NumDigit函数执行过程跟你传的参数一点关系没有啊!你应该是要把传的参数赋值给n才对吧