Tutorialspoint.dev

How to find length of a string without string.h and loop in C?

Find the length of a string without using any loops and string.h in C. Your program is supposed to behave in following way:

Enter a string: GeeksforGeeks (Say user enters GeeksforGeeks)
Entered string is: GeeksforGeeks
Length is: 13

You may assume that the length of entered string is always less than 100.

The following is solution.



#include <stdio.h>
  
int main()
{
    char str[100];
    printf("Enter a string: ");
    gets(str);
    printf("Entered string is:%s ", str);
    printf( " Length is: %d",strlen(str));
  
    return 0;
}

Output:

Enter a string: GeeksforGeeks
Entered string is: GeeksforGeeks
Length is: 13

The idea is to use return values of printf() and gets().
gets() returns the enereed string.
printf() returns the number of characters successfully written on output.

In the above program, gets() returns the entered string. We print the length using the first printf. The second printf() calls gets() and prints the entered string using returned value of gets(), it also prints 20 extra characters for printing “Entered string is: ” and “ ”. That is why we subtract 20 from the returned value of second printf and get the length.

Another way of finding the length of a string without using string.h or loops is Recursion.
The following program does the work of finding a length of a string using recursion.

#include <stdio.h>
  
void LengthofString(int n,char *string)
    if(string[n] == ''
    {
        printf("%i",n); 
        return;
    }
      
    LengthofString(n+1,string);
    //printf("%c",string[n]);
}
  
int main()
    char string[100];
    printf("Give a string : "); 
    scanf("%s",string);
    printf("Entered string is:%s ", string);
    LengthofString(0,string);
      
    return 0;
}

The Function LengthofString calls itself until the character of string is’nt a null character it calls itself, when it calls itself it increases the value of the variable ‘n’ which stores number of times the function has been called and when it encounters the null character the function prints the value of ‘n’ and returns back in the same direction in which it was executed.



This article is attributed to GeeksforGeeks.org

tags:

C C-String C

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter