C++ Why int r = (int, int, int); doesn't give error and r has the value of the last integer? : I faced this question, r always has the las integer between the ().

What is the output of the following program?

    #include<isotream>
    using namespace std;
    main() {
    int i = 1, j = 2, k = 3, r;
    r = (i, j, k);
    cout<<r<<endl;
    }

    A - 1
    B - 2
    C - 3
    D - Compile Error

What I wanna know is why it is happening.