Hỏi về độ ưu tiên của toán tử

Em có gặp bài sau đây int z = 1 & 2 == 2; output printf("%d",z); là ?
Theo thứ tự ưu tiên , toán tử & tính trước 1&2 = 0. Tiếp theo là 0==2 = 0. Suy ra z bằng 0. Nhưng thực tế chạy code nó lại ra 1( có thể do == được tính trước). Cho e hỏi vì sao lại vậy ạ.

Em nghĩ là do & anh ạ.

1 Like

Xin lỗi mọi người, em bị nhầm giữa unary với phép AND bit

Đóng bài viết dùm e với ạ.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?