What is the result of the expression !1?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "0". Dấu chấm than là phép phủ định logic trên một toán hạng: C coi mọi giá trị khác không là đúng và chỉ số không là sai, còn kết quả của phép logic luôn là int mang giá trị 0 hoặc 1. Toán hạng 1 là đúng nên phủ định nó cho sai, tức 0. Số "1" là kết quả của phép phủ định hai lần, hoặc là chính toán hạng ban đầu khi quên áp phép toán. Số "10" ứng với cách hiểu nhầm dấu chấm than thành phép ghép ký tự, như thể viết 1 rồi 0 cạnh nhau; C không có phép nối số kiểu đó. Số "11" cũng là một dãy ký tự ghép lại, lại thêm hiểu nhầm rằng phủ định của 1 vẫn là 1. Cần phân biệt phủ định logic với đảo bit, vì đảo bit của 1 trên int bốn byte cho -2.
Cùng phần 2
Xuất hiện trong 1 bộ đề
Đi tiếp từ đây