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 ạ.
Hỏi về độ ưu tiên của toán tử
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?