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