This C program implements a function to find the length of a string. The function uses a loop to iterate over the characters in the string and count the number of characters until it reaches the null character at the end of the string.
Code Implementation
// Function to find the length of a string
int stringLength(const char *str) {
int length = 0;
while (*str != '\0') {
length++;
str++;
}
return length;
}
int main() {
char str[100];
printf("Enter a string: ");
fgets(str, sizeof(str), stdin);
str[strlen(str) - 1] = '\0'; // Remove the newline character
int length = stringLength(str);
printf("Length of the string: %d\n", length);
return 0;
}
Explanation
The `stringLength` function takes a constant character pointer `str` as an argument. It initializes a variable `length` to 0 and uses a while loop to iterate over the characters in the string. The loop continues until it reaches the null character at the end of the string. In each iteration, the function increments the `length` variable and moves the pointer to the next character.
In the `main` function, the program prompts the user to enter a string and stores it in the `str` array. It then calls the `stringLength` function to find the length of the string and prints the result.
Example Use Cases
This program can be used in various scenarios where you need to find the length of a string, such as:
- Validating user input: You can use this function to check if the user has entered a string of a certain length.
- Formatting output: You can use this function to format the output of a program based on the length of a string.
- Comparing strings: You can use this function to compare the lengths of two strings.
Advantages and Disadvantages
Advantages:
- The function is simple and easy to understand.
- The function is efficient and has a time complexity of O(n), where n is the length of the string.
Disadvantages:
- The function does not handle null pointers.
- The function does not handle strings with embedded null characters.
FAQs
Q: What is the time complexity of the stringLength function?
A: The time complexity of the stringLength function is O(n), where n is the length of the string.
Q: Can the stringLength function handle null pointers?
A: No, the stringLength function does not handle null pointers. If a null pointer is passed to the function, it will cause a segmentation fault.
Q: Can the stringLength function handle strings with embedded null characters?
A: No, the stringLength function does not handle strings with embedded null characters. If a string with embedded null characters is passed to the function, it will return an incorrect result.
Comments
Post a Comment