Skip to content
Related Articles

Related Articles

Improve Article

C | String | Question 9

  • Difficulty Level : Medium
  • Last Updated : 28 Jun, 2021
Geek Week

Consider the following C program segment:




char p[20]; 
char *s = "string"
int length = strlen(s); 
int i; 
for (i = 0; i < length; i++) 
    p[i] = s[length — i]; 
printf("%s", p);

The output of the program is? (GATE CS 2004)
(A) gnirts
(B) gnirt
(C) string
(D) no output is printed


Answer: (D)

Explanation: Let us consider below line inside the for loop
p[i] = s[length — i];
For i = 0, p[i] will be s[6 — 0] and s[6] is ‘\0′
So p[0] becomes ‘\0’. It doesn’t matter what comes in p[1], p[2]….. as P[0] will not change for i >0. Nothing is printed if we print a string with first character ‘\0′


Quiz of this Question

Take a step-up from those “Hello World” programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
My Personal Notes arrow_drop_up
Recommended Articles
Page :