30/09/2018, 16:10
Điều kiện AND trong C++ có gì đặc biệt?
Đoạn chương trình này in ra cái gì và tại sao
int i=0;
bool t=true;
bool f=false;
bool b;
b=(t && ((i++) == 0));
b=(f && ((i+=2) > 0));
cout << i;
Có một bạn hỏi trên facebook thế này, Đạt thấy hay đem đố các bạn.
Bài liên quan





Bài này mình hỏi trên Page biết rồi nhá . Để cho mấy bạn sau trả lời.
in ra 1 do f = false nên biểu thức bên phải && ko dc thực hiện
in ra 3 phép cộng mà anh Đạt cũng đố
@Rok_Hoang Xem đáp án của @camaptrang nhé, hố rồi
@@ ảo zị. Phép == và phép > làm thay đổi giá trị của i luôn
Đặc điểm của phép
&&là khi kiểm tra điều kiệnlogicthì nếu có1 điều kiện sai (false)thì nó dừng các phép sau (Dù kiểm tra đi nữa thì nó cũngsai(false)mà )Tương tự như vậy, phép
||nó cũng kiểm tra điều kiện. Khi gặp điều kiện đúng thì nó cũng không kiểm tra biểu thức sau nữa.Vì thế:
t=truenên nó tiếp tục kiểm tra. Và biểu thức sau dc thực hiện.f=falsenên biểu thức sau không được thực hiện để kiểm tra nữa.-> kết quả cuối cùng là:
1