Computer Sciences > Gate 2015 Set-3 > C Code
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.
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.
Correct : C Code
Similar Questions
Consider the following C program segment.
#include<stdio.h>
int main( )
{
char s1[7] = "1234", *p;
p = s1 + 2;
...
Consider the following C program segment.
#include<stdio.h>
int main( )
{
char s1[7] = "1234", *p;
p = s1 + 2;
...
Consider the following C program segment.
#include<stdio.h>
int main( )
{
char s1[7] = "1234", *p;
p = s1 + 2;
...
Total Unique Visitors
Loading......