What will be printed out as a result of program execution?
#include <iostream>

using namespace std;

void init(int *x)
{
    x = new int;
    *x = 50;
}

int main()
{
    int v = 100;
    init(&v);
    cout << v;

    return 0;
}
Explanation
Since the pointer is passed to the void init (int *x) function by value, it points to another memory location where number 50 is written after its change in the line x = new int. As a result, the memory allocated by the init function leaks and 100 is displayed on the screen.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести