JavaScript is required

What is output? #include #include #define X 3 #if !X printf("C/C++"); #else printf("Java"); #endif void main() { getch(); }

A.

C/C++

B.

Java

C.

Complier error

Trả lời:

Đáp án đúng: C


Đoạn mã sử dụng tiền xử lý (preprocessor) để in ra một chuỗi ký tự. Biểu thức `#define X 3` định nghĩa hằng số X có giá trị là 3. Chỉ thị `#if !X` kiểm tra xem X có phải là 0 hay không (trong C/C++, 0 tương đương với false, khác 0 tương đương với true). Vì X = 3 (khác 0), điều kiện `!X` là sai. Do đó, phần mã trong `#if !X` sẽ không được biên dịch. Thay vào đó, phần mã trong `#else` sẽ được biên dịch và thực thi, in ra "Java".

Câu hỏi liên quan