JavaScript is required

Kết quả của chương trình sau là gì:

#include

void main() {

int a = 40, b = 4;

while (a != b)

if (a > b)

a = a - b;

else

b = b - a;

printf("%d", a);

}

A.

2

B.

16

C.

4

D.
Kết quả khác
Trả lời:

Đáp án đúng: C


Chương trình thực hiện vòng lặp `while` cho đến khi `a` bằng `b`. Trong mỗi vòng lặp, nếu `a` lớn hơn `b`, thì `a` sẽ được gán bằng `a - b`. Ngược lại, `b` sẽ được gán bằng `b - a`. Quá trình này tiếp tục cho đến khi `a` và `b` bằng nhau. Ban đầu, `a = 40` và `b = 4`. - Lần lặp 1: `a > b` (40 > 4) nên `a = 40 - 4 = 36`. - Lần lặp 2: `a > b` (36 > 4) nên `a = 36 - 4 = 32`. - Lần lặp 3: `a > b` (32 > 4) nên `a = 32 - 4 = 28`. - Lần lặp 4: `a > b` (28 > 4) nên `a = 28 - 4 = 24`. - Lần lặp 5: `a > b` (24 > 4) nên `a = 24 - 4 = 20`. - Lần lặp 6: `a > b` (20 > 4) nên `a = 20 - 4 = 16`. - Lần lặp 7: `a > b` (16 > 4) nên `a = 16 - 4 = 12`. - Lần lặp 8: `a > b` (12 > 4) nên `a = 12 - 4 = 8`. - Lần lặp 9: `a > b` (8 > 4) nên `a = 8 - 4 = 4`. - Lúc này `a == b` (4 == 4), vòng lặp kết thúc. Giá trị của `a` (và `b`) là 4. Chương trình sẽ in ra giá trị của `a` là 4.

Câu hỏi liên quan