显示整数的位数问题,

#include<stdio.h>
int main()
{
int n;
int count=0;
printf("请输入一个正整数:");
scanf("%d",&n);
if(n>0)
{

   n=n/10;
    count++;
printf("%d的位数是%d",n,count);

}
else
printf("请不要输入非正整数。");
}
printf 里n显示不出来,比如输入的是1669
运行出来显示的是0的位数是4
所以怎么定位n?

n在你算位数的时候被除到0了,用个变量来记录一下就可以了