adplus-dvertising
frame-decoration

Question

What is the output of this program?
    #include <iostream>
    #include <new>
    #include <cstdlib>
    using namespace std;
    const int bsize = 512;
    int *pa;
    bool allocate = true;
    void get_memory() 
    {
        cerr << "free store exhausted" << endl;
        delete [] pa;
        allocate = false;
    }
    void eat_memory(int size) 
    {
        int *p = new int[size];
        if (allocate)
            eat_memory(size);
        else
            cerr << "free store addr = " << p << endl;
    }
    int main()
    {
        set_new_handler(get_memory);
        pa = new int[bsize];
        cerr << "free store addr = " << pa << endl;
        eat_memory(bsize);
        return 0;
    }

a.

Free store addr

b.

Error

c.

Segmentation fault

d.

None of the mentioned

Answer: (c).Segmentation fault

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. What is the output of this program?