如题所述
#includevoid main(){ int x,y,i=1; scanf("%d",&x); while(x>0) { y=x%10; x=x/10; i++;}printf("%d\n",i);}这是我写的,问题就是输入0的时候,输出也是0.而正确应该是1.在这个基础上怎么改进啊
scanf将输入变成数值来算的话是会有问题的,当数值非常大的时候就会有问题你那个代码初始值i已经等于1了吧,即使不进入循环也会输出1位的