Open In App

ISRO | ISRO CS 2015 | Question 72

Like Article
Like
Save
Share
Report

The output of the following program is

main()
{
static int x[] = {1,2,3,4,5,6,7,8}
int i;
for (i=2; i<6; ++i)
x[x[i]]=x[i];
for (i=0; i<8; ++i)
printf("%d", x[i]);
} 

(A) 1 2 3 3 5 5 7 8
(B) 1 2 3 4 5 6 7 8
(C) 8 7 6 5 4 3 2 1
(D) 1 2 3 5 4 6 7 8


Answer: (A)

Explanation: Given array:

for (i=2; i<6; ++i)
x[x[i]]=x[i];
For i = 2, x[x[2]] = x[2]  
           = x[3] = 3  // since x[2] = 3
For i = 3, x[x[3]] = x[3]  
           = x[3] = 3  // since x[3] = 3
For i = 4, x[x[4]] = x[4]  
           = x[5] = 5  // since x[4] = 5
For i = 5, x[x[5]] = x[5]  
           = x[5] = 5  // since x[5] = 5
Loop terminates at x = 6, so no changes in index 6 and 7.

New array:


Quiz of this Question


Last Updated : 06 Apr, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads