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