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ẽ giảm đi `b`; ngược lại, `b` sẽ giảm đi `a`. Ban đầu, `a = 40` và `b = 4`. * Vòng lặp 1: `a > b` (40 > 4) là đúng, `a = 40 - 4 = 36`. * Vòng lặp 2: `a > b` (36 > 4) là đúng, `a = 36 - 4 = 32`. * Vòng lặp 3: `a > b` (32 > 4) là đúng, `a = 32 - 4 = 28`. * Vòng lặp 4: `a > b` (28 > 4) là đúng, `a = 28 - 4 = 24`. * Vòng lặp 5: `a > b` (24 > 4) là đúng, `a = 24 - 4 = 20`. * Vòng lặp 6: `a > b` (20 > 4) là đúng, `a = 20 - 4 = 16`. * Vòng lặp 7: `a > b` (16 > 4) là đúng, `a = 16 - 4 = 12`. * Vòng lặp 8: `a > b` (12 > 4) là đúng, `a = 12 - 4 = 8`. * Vòng lặp 9: `a > b` (8 > 4) là đúng, `a = 8 - 4 = 4`. * Vòng lặp 10: Bây giờ `a = 4` và `b = 4`. Điều kiện `a != b` (4 != 4) là sai, vòng lặp kết thúc. Giá trị cuối cùng của `a` là 4.

Tổng hợp 600+ câu hỏi trắc nghiệm lập trình C có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan