Examveda

What will be the output of the following C++ code?
#include <string>
#include <iostream>
using namespace std;
void string_permutation( string& orig, string& perm )
{
    if (orig.empty())
    {
        cout<<perm<<endl;
        return;
    }
    for (int i = 0; i < orig.size(); ++i)
    {
        string orig2 = orig;
        orig2.erase(i, 1);
        string perm2 = perm;
        perm2 += orig.at(i);
        string_permutation(orig2, perm2);
    }
}
int main()
{
    string orig = "ter";
    string perm;
    string_permutation(orig, perm);
    return 0;
}

A. ter

B. ert

C. ret

D. returns all the combination of ter

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