JavaScript is required

What is output? #include #include int main() { int a = 5; switch(a) { default: a = 4; case 6: a--; case 5: a = a + 1; case 1: a = a - 1; } printf("%d \n", a); getch(); }

A.

3

B.

4

C.

5

D.

6

Trả lời:

Đáp án đúng: C


Đoạn code sử dụng cấu trúc `switch` trong C. Biến `a` được khởi tạo bằng 5. - `switch(a)`: Khi `switch` được gọi, nó sẽ nhảy đến case tương ứng với giá trị của `a`. Vì không có `case 5:` ban đầu, nó sẽ đi vào `default:`, gán `a = 4;`. - `case 6:`: Sau khi thực hiện `default`, chương trình *không* thoát khỏi `switch` mà tiếp tục thực hiện các `case` tiếp theo (fall-through). Do đó, `a--` được thực hiện, làm cho `a = 3;`. - `case 5:`: Tiếp tục fall-through, `a = a + 1;` được thực hiện, làm cho `a = 4;`. - `case 1:`: Tiếp tục fall-through, `a = a - 1;` được thực hiện, làm cho `a = 3;`. Cuối cùng, `printf("%d \n", a);` in ra giá trị của `a`, là 3.

Câu hỏi liên quan