Examveda

What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
void swap(int x, int y)
{
    int temp = array[x];
    array[x] = array[y];
    array[y] = temp;
    return;
}
void printArray(int size)
{
    int i;
    for (i = 0; i < size; i++)
        cout << array[i] << " ";
    cout << endl;
    return;
}
void permute(int k, int size)
{
    int i;
    if (k == 0)
        printArray(size);
    else
    {
        for (i = k - 1;i >= 0;i--)
        {
            swap(i, k - 1);
            permute(k - 1, size);
            swap(i, k - 1);
        }
    }
    return;
}
int main()
{
    permute(3, 3);
    return 0;
}

A. 0 1 2
1 0 2

B. 0 2 1
2 0 1

C. 2 1 0
1 2 0

D. All of the mentioned

Answer: Option D


Join The Discussion

Related Questions on C plus plus miscellaneous

What is the difference between '++i' and 'i++' in C++?

A. None of the above

B. They both have the same effect

C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it

D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it