-
Recursion problem
Hey guys I have a question about this function (needs to calculate the number of digits of any integer). My problem is- How do I return 1 in case of the number that is given is 0 since 0 is a 1 digit number?
Code:
int numberOfDigits(int num);
int main()
{
int number=1068;
printf ("%d\n",numberOfDigits(number));
return 0;
}
int numberOfDigits(int num)
{
if (num==0)
{
return 0;
}
return 1 + numberOfDigits(num/10);
}
Thanks.
-
start your recursion one step futher
Code:
int numberOfDigits(int num)
{
if (num> -10 && num <10)
{
return 1;
}
return 1 + numberOfDigits(num/10);
}
-
That totally works, thanks for the quick reply.