int rec(int x, int y) → this function returns some value only when x = 0;
Now, when we pass non-zero x, will x parameter for any future call ever become 0?
We’re recursively calling rec, in only one case we’re modifying parameter x, only when x > y, and that to x – y.
Now, this x – y can never become 0.
Therefore, rec(x, y) for all non-zero x, will result in infinite recursive calls.
Answer :- D.