Multiple choice

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

  1. gnirts

  2. string

  3. gnirt

  4. no output is printed

Reveal answer Fill a bubble to check yourself
D Correct answer
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′