Skip to content
Related Articles

Related Articles

Improve Article

C | String | Question 4

  • Difficulty Level : Basic
  • Last Updated : 05 Feb, 2013

Predict the output?




#include <stdio.h>
int fun(char *str1)
{
  char *str2 = str1;
  while(*++str1);
  return (str1-str2);
}
  
int main()
{
  char *str = "GeeksQuiz";
  printf("%d", fun(str));
  return 0;
}

(A) 10
(B) 9
(C) 8
(D) Random Number


Answer: (B)

Explanation: The function fun() basically counts number of characters in input string. Inside fun(), pointer str2 is initialized as str1. The statement while(*++str1); increments str1 till ‘\0’ is reached. str1 is incremented by 9. Finally the difference between str2 and str1 is returned which is 9.

Want to learn from the best curated videos and practice problems, check out the C Foundation Course for Basic to Advanced C.
My Personal Notes arrow_drop_up
Recommended Articles
Page :