References - Programming

Q1:

Which of the following statement is correct about the program given below?
#include<iostream.h> 
enum xyz
{
    a, b, c
};
int main() 
{
    int x = a, y = b, z = c;
    int &p = x, &q = y, &r = z;
    p = ++x;
    q = ++y;
    r = ++c;
    cout<< p << q << r;
    return 0;
}

A The program will print the output 1 2 3.

B The program will print the output 2 3 4.

C The program will print the output 0 1 2.

D It will result in a compile time error.

ANS:A - The program will print the output 1 2 3.

No answer description is available. Let's discuss.