JavaScript is required

What is output? #include #include void main() { struct site { char name[] = "laptrinhc++"; int year = 2; }; struct site *ptr; printf("%s ", ptr->name); printf("%d", ptr->year); getch(); }

A.

laptrinhc++ 2

B.

Complier error

C.

Runtime error

Trả lời:

Đáp án đúng: B


Đoạn code có lỗi vì con trỏ `ptr` chưa được khởi tạo (chưa trỏ đến vùng nhớ nào). Do đó, việc truy cập `ptr->name` và `ptr->year` sẽ dẫn đến lỗi runtime (lỗi khi chương trình đang chạy). Vì vậy, đáp án đúng nhất là "Runtime error". Nếu `ptr` được gán địa chỉ của một biến `site` hợp lệ, ví dụ `struct site s; struct site *ptr = &s;`, thì chương trình sẽ biên dịch và chạy (nhưng có thể in ra giá trị rác vì các thành viên của `s` chưa được khởi tạo).

Câu hỏi liên quan