C语言输入一个数,判断这个数是几位数

输入一个正整数,判断这个数是几位数
#include<stdio.h>//头文件,stdio.h表示输入输出使用的预处理文件
int main(){
    int n=0,m=0;//分别给n,m赋初值,n作为要输入的数,判断的是几位数,m来作为记录输入的数有几位
    scanf("%d",&n);//&取地址符,为n开辟存储空间,%d是整数的表示
    m++;//m先使用,后加1,在执行完后面一个语句m=1
    n=n/10;//将输入的数除以10,去掉了个位数,同时m从0变为1
    while(n>0){//将n/10的值作判断是否大于0,大于0执行括号里面的,等于0直接跳出,执行后面的printf
    m++;
    n=n/10;//此处的m和n用法不同,前面的m和n只执行一次,而这里的m,n在while循环之内,只要n的值大于0,就会一直循环,直到n=0输出m的值
    
}
}

因为所求的对正整数是几位数判断,所以有整数Int的范围,输入正整数最多位数是10位

经验分享 程序员 微信小程序 职场和发展