Example
Input
Input num: 35419
Output
Number of digits: 5
/**
* C program to count number of digits in an integer
*/
#include <stdio.h>
int main()
{
long long num;
int count = 0;
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Run loop till num is greater than 0 */
do
{
/* Increment digit count */
count++;
/* Remove last digit of 'num' */
num /= 10;
} while(num != 0);
printf("Total digits: %d", count);
return 0;
}
Program to count number of digits without using loop
/**
* C program to count number of digits in an integer without loop
*/
#include <stdio.h>
#include <math.h> /* Used for log10() */
int main()
{
long long num;
int count = 0;
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Calculate total digits */
count = (num == 0) ? 1 : (log10(num) + 1);
printf("Total digits: %d", count);
return 0;
}
/*
Output :
Enter any number: 123456789
Total digits: 9
*/