方法一:
#include <stdio.h>
int main(void){
int n,number,len=0;
scanf("%d",&number);
n=number;//保留原始数据
if(0==n){
len=1;
}//对“0”进行特殊处理
else if(n<0){
n=-n;
}//若是负数,先转换为正数后再处理
while(n>0){
len++;
n=n/10;
}//开始对原本非零的数计算位数
printf("%d",len);
return 0;
}
方法二:
#include <stdio.h>
int main(void){
int number,n;
int len=1;//每个数至少有一位
int t=1;
scanf("%d",&number);
n=number;
if(n!=0){
if(n<0){
n=-n;
}
for(t=10;t<=n;t*=10){
en++;
}//跳出循环后,i即为该整数位数,且此时t/10即为该整数最高位的位阶
//t/=10;
}
printf("%d\n",i);
return 0;
}