What will be the output of the following C++ code?

#include <iostream>
using namespace std;
void square (int *x, int *y)
{
    *x = (*x) * --(*y);
}
int main ( )
{
    int number = 30;
    square(&number, &number);
    cout << number;
    return 0;
}

a) 30
b) Error
c) Segmentation fault
d) 870

1 thought on “What will be the output of the following C++ code?”

  1. d
    Explanation: As we are passing value by reference therefore the change in the value is reflected back to the passed variable number hence value of number is changed to 870.

Leave a Comment