来自杜汝彬的问题
【输入一个任意长度的正整数,求出它是几位数.C++,C语言】
输入一个任意长度的正整数,求出它是几位数.C++,C语言
3回答
2020-05-02 21:42
【输入一个任意长度的正整数,求出它是几位数.C++,C语言】
输入一个任意长度的正整数,求出它是几位数.C++,C语言
#include
#include
usingnamespacestd;
intmain()
{
stringstrInput;
cin>>strInput;
cout
#includevoidmain(){intx,y,i=1;scanf("%d",&x);while(x>0){y=x%10;x=x/10;i++;}printf("%dn",i);}这是我写的,问题就是输入0的时候,输出也是0.而正确应该是1.在这个基础上怎么改进啊
scanf将输入变成数值来算的话是会有问题的,当数值非常大的时候就会有问题你那个代码初始值i已经等于1了吧,即使不进入循环也会输出1位的