Length of the string without using strlen() function in C
Understanding String Length Calculation
In C, the strlen() function is commonly used to determine the length of a string. However, we can find the length without using it by iterating through the string manually.
We will explore three different methods to find the length of a string in C.
Method 1: Using a Loop
This method iterates through the string character by character to count the length.
#include <stdio.h>
int string_length(char str[]) {
int count = 0;
while (str[count] != '\0') {
count++;
}
return count;
}
int main() {
char str[100];
printf("Enter a string: ");
gets(str);
printf("Length of the string is: %d", string_length(str));
return 0;
}
Output: Length of the string is: 5
Method 2: Using Recursion
This method finds the length of a string by calling a function recursively.
#include <stdio.h>
int string_length_recursive(char str[], int index) {
if (str[index] == '\0')
return 0;
return 1 + string_length_recursive(str, index + 1);
}
int main() {
char str[100];
printf("Enter a string: ");
gets(str);
printf("Length of the string is: %d", string_length_recursive(str, 0));
return 0;
}
Output: Length of the string is: 5
Method 3: Using Pointers
This method finds the length of a string using pointer arithmetic.
#include <stdio.h>
int string_length_pointer(char *str) {
char *ptr = str;
while (*ptr != '\0') {
ptr++;
}
return ptr - str;
}
int main() {
char str[100];
printf("Enter a string: ");
gets(str);
printf("Length of the string is: %d", string_length_pointer(str));
return 0;
}
Output: Length of the string is: 11