Data Structure Questions and Answers on Length of a String using Recursion for Freshers


1. Consider the following iterative implementation to find the length of the string:
#include
int get_len(char *s)
{
      int len = 0;
      while(________)
        len++;
      return len;
}
int main()
{
      char *s = "harsh";
      int len = get_len(s);
      printf("%d",len);
      return 0;
}
Which of the following lines should be inserted to complete the above code?

a) s[len-1] != 0
b) s[len+1] != 0
c) s[len] != ‘\0’
d) none of the mentioned
Answer: c

Explanation: The line “s[len] != ‘\0′” should be inserted to complete the above code.
2. What is the output of the following code?
#include
int get_len(char *s)
{
      int len = 0;
      while(s[len] != '\0')
        len++;
      return len;
}
int main()
{
      char *s = "lengthofstring";
      int len = get_len(s);
      printf("%d",len);
      return 0;
}
a) 14
b) 0
c) Compile time error
d) Runtime error
Answer: a

Explanation: The program prints the length of the string “lengthofstring”, which is 14.
3. What is the time complexity of the above code used to find the length of the string?

a) O(1)
b) O(n)
c) O(n2)
d) O(logn)
Answer: b

Explanation: The time complexity of the code used to find the length of the string is O(n).
4. What is the output of the following code?
#include
int get_len(char *s)
{
      int len = 0;
      while(s[len] != '\0')
        len++;
      return len;
}
int main()
{
      char *s = "";
      int len = get_len(s);
      printf("%d",len);
      return 0;
}
a) 0
b) 1
c) Runtime error
d) Garbage value
Answer: a

Explanation: The program prints the length of an empty string, which is 0.
5. Which of the following can be the base case for the recursive implementation used to find the length of a string?

a) if(string[len] == 1) return 1
b) if(string[len+1] == 1) return 1
c) if(string[len] == ‘\0’) return 0
d) if(string[len] == ‘\0’) return 1
Answer: c

Explanation: “if(string[len] == ‘\0’) return 0” can be used as base case in the recursive implementation used to find the length of the string.
6. Consider the following recursive implementation used to find the length of a string:
#include
int recursive_get_len(char *s, int len)
{
      if(s[len] == 0)
        return 0;
      return ________;
}
int main()
{
      char *s = "abcdef";
      int len = recursive_get_len(s,0);
      printf("%d",len);
      return 0;
}
Which of the following lines should be inserted to complete the above code?

a) 1
b) len
c) recursive_get_len(s, len+1)
d) 1 + recursive_get_len(s, len+1)
Answer: d

Explanation: The line “1 + recursive_get_len(s, len+1)” should be inserted to complete the code.
7. What is the output of the following code?

#include
int recursive_get_len(char *s, int len)
{
      if(s[len] == 0)
        return 0;
      return 1 + recursive_get_len(s, len+1);
}
int main()
{
      char *s = "abcdef";
      int len = recursive_get_len(s,0);
      printf("%d",len);
      return 0;
}
a) 5
b) 6
c) 7
d) 8
Answer: b

Explanation: The above code prints the length of the string “abcdef”, which is 6.
8. What is the time complexity of the above recursive implementation used to find the length of the string?

a) O(1)
b) O(n)
c) O(n2)
d) O(n3)
Answer: b

Explanation: The time complexity of the above recursive implementation used to find the length of the string is O(n).
9. How many times is the function recursive_get_len() called when the following code is executed?
#include
int recursive_get_len(char *s, int len)
{
      if(s[len] == 0)
        return 0;
      return 1 + recursive_get_len(s, len+1);
}
int main()
{
      char *s = "adghjkl";
      int len = recursive_get_len(s,0);
      printf("%d",len);
      return 0;
}
a) 6
b) 7
c) 8
d) 9
Answer: c

Explanation: The function recursive_get_len() is called 8 times when the above code is executed.
10. What is the output of the following code?
#include
int recursive_get_len(char *s, int len)
{
      if(s[len] == 0)
        return 0;
      return 1 + recursive_get_len(s, len+1);
}
int main()
{
      char *s = "123-1-2-3";
      int len = recursive_get_len(s,0);
      printf("%d",len);
      return 0;
}
a) 3
b) 6
c) 9
d) 10
Answer: c

Explanation: The above program prints the length of the string “123-1-2-3”, which is 9.

Related

CSS Multiple Choice Questions & Answers on Major Themes for Freshers

1. _____________ property specifies the direction in which a marquee should move. a) marquee-styleb) marquee-play-countc) marquee-directiond) none of the mentioned Answer: c Explanation: Syntax: ...

C Programming Questions and Answers on Character Pointers and Functions for Freshers

1. What is the output of this C code? #include int main() { char *str = "hello, world\n"; char *strc = "good morning\n"; strcpy(strc, str); ...

Java Multiple Choice Questions & Answers on Java.io Character Streams for Freshers

1. Which of these stream contains the classes which can work on character stream? a) InputStreamb) OutputStreamc) Character Streamd) All of the mentioned Answer: C Explanation: InputStream & ...

Post a Comment

emo-but-icon
:noprob:
:smile:
:shy:
:trope:
:sneered:
:happy:
:escort:
:rapt:
:love:
:heart:
:angry:
:hate:
:sad:
:sigh:
:disappointed:
:cry:
:fear:
:surprise:
:unbelieve:
:shit:
:like:
:dislike:
:clap:
:cuff:
:fist:
:ok:
:file:
:link:
:place:
:contact:

item