1.

Consider the C program fragment below which is meant to divide x by y using repeated subtraction. The variables x, y, q and r are all unsigned int.While (r >= y) {r = r – y;q = q + 1;}Which of the following conditions on the variables x, y, q and r before the execution of the fragment will ensure that the loop terminates in a state satisfying the condition x == (y*q + r)?

A. (q == r) && (r == 0)
B. (x > 0) && (r == x) && (y > 0)
C. (q == 0) && (r == x) && (y > 0)
D. (q == 0) && (y > 0)
Answer» D. (q == 0) && (y > 0)


Discussion

No Comment Found