Gate CS-2015-3 Question Paper With Solutions

Q. 49 Consider the following two C code segments. Y and X are one and two dimensional
arrays of size n and n#n respectively, where 2 # n # 10. Assume that in both
code segments, elements of Y are initialized to 0 and each element X[i] [j] of array
X is initialized to i + j . Further assume that when stored in main memory all
elements of X are in same main memory page frame.

Code segment 1:    // initialize elements of Y to 0    // initialize elements X[i][j] of X to i+j    for (i = 0; i < n; i++)        y[i] + = X[0][i];      Code segment 2:    // initialize elements of Y to 0    // initialize elements X[i][j] of X to i+j    for (i = 0; i < n; i++)        y[i] + = X[i][0]; 

Which of the following statements is/are correct?

S1: Final contents of array Y will be same in both code segments.
S2: Elements of array X accessed inside the for loop shown in 
    code segment 1 are contiguous in main memory.
S3: Elements of array X accessed inside the for loop shown in 
    code segment 2 are contiguous in main memory.

(A) Only S2 is correct

Learn More:   Gate EC-2011 Question Paper With Solutions

(B) Only S3 is correct

(C) Only S1 and S2 are correct

(D) Only S1 and S3 are correct

Answer: (C)

Explanation:

Gate CS-2015-3 Question Paper With Solutions

LEAVE A REPLY

Please enter your comment!
Please enter your name here