Here, we will build a C Program to Remove leading zeros with the following 2 approaches:
- Using for loop
- Using strspn
To remove all leading zeros from a number we have to give the input number as a string.
Input:
a = "0001234"
Output:
1234
1. Using for loop
// C Program to Remove leading zeros
// using for loop
#include <stdio.h>
#include <string.h>
int main()
{
// input
char a[1000] = "0001234";
int i, c = -1;
// finding the all leading zeroes from the given string
// and removing it from the string
for (i = 0; i < strlen(a); i++) {
if (a[i] != '0') {
c = i;
break;
}
}
// printing the string again after removing the all
// zeros
for (i = c; i < strlen(a); i++) {
printf("%c", a[i]);
}
return 0;
}
Output
1234
2. Using strspn
strspn: Returns the length of the first segment of str1 that exclusively contains characters from str2.
// C Program to Remove leading zeros
// using strspn
#include <stdio.h>
#include <string.h>
int main()
{
// input string
char* s = "0001234";
int n;
// strspn->Returns the length of the first segment of
// str1 that exclusively contains characters from str2.
if ((n = strspn(s, "0")) != 0 && s[n] != '\0') {
// printing the string after eliminating the zeros
printf("%s", &s[n]);
}
return 0;
}
Output
1234