JavaScript is required

What is output of code? #include #include void main() { int i, j, *ptr, *ptr1; i = 10; j = 10; ptr = &i ptr1 = &j if(ptr == ptr1) printf("True"); else printf("False"); getch(); }

A.

True

B.

False

C.

Complier error

Trả lời:

Đáp án đúng: B


Đoạn code khai báo hai biến `i` và `j` kiểu `int`, sau đó gán giá trị 10 cho cả hai. `ptr` và `ptr1` là hai con trỏ kiểu `int*`, lần lượt trỏ đến địa chỉ của `i` và `j`. Phép so sánh `ptr == ptr1` so sánh địa chỉ mà hai con trỏ này đang giữ, chứ không so sánh giá trị của `i` và `j`. Vì `i` và `j` là hai biến riêng biệt, chúng sẽ có địa chỉ khác nhau trong bộ nhớ. Do đó, `ptr` và `ptr1` sẽ trỏ đến hai địa chỉ khác nhau, và kết quả của phép so sánh `ptr == ptr1` sẽ là `False`. Vậy đáp án đúng là B. False.

Câu hỏi liên quan