GATE | CS | 2017 | Set 2 | C Programming | Functions | Question 47

Last Updated :
Discuss
Comments

Consider the following snippet of a C program. Assume that swap(&x, &y) exchanges the contents of x and y.

int main()
{
int array[] = {3, 5, 1, 4, 6, 2};
int done = 0;
int i;

while (done == 0)
{
done = 1;
for (i = 0; i <= 4; i++)
{
if (array[i] < array[i+1])
{
swap(&array[i], &array[i+1]);
done = 0;
}
}
for (i = 5; i >= 1; i--)
{
if (array[i] > array[i-1])
{
swap(&array[i], &array[i-1]);
done = 0;
}
}
}

printf("%d", array[3]);
}

The output of the program is _____. Note: This question appeared as Numerical Answer Type.

1

2

3

4

Share your thoughts in the comments