我尝试使用以下方法对每个数字进行分区,但是在某些情况下不起作用。 例如,数字00123应该返回长度5,而不是输出3 有解决方案吗?
#include<stdio.h>
void main()
{
int n,count=0;
scanf("%d",&n);
while(n!=0)
{
n/=10;
++count;
}
printf("%d",count);
}
答案 0 :(得分:1)
您不能将“ 00123”存储为int
-因为前导零将被忽略。因此,要保留,您将必须存储为string
:
std::string my_int_str = "00123";
然后打印长度很简单:
std::cout << my_int_str.length();