01/10/2018, 17:45

Tại sao việc gán biến val=0 lại trở thành kiểu luận lý C++?

Mình có đoạn code C++ như sau:

int val;
if(val=0)
{
cout<<"True";
}
else
{
cout<<"False";
}
return 0;

Tại sao kết quả lại là False ạ?
Việc gán val=0 không phải là kiểu luận lý tại sao nó lại trả về kết quả 0???
Mong mọi người có thể giải thích giúp.Xin cảm ơn

Trương Tấn Phát viết 19:46 ngày 01/10/2018

Phép toán so sánh có mấy dấu bằng?
A. 1
B. 2
Hãy chọn đáp án đúng!

Thử gán bằng 1,2,3,4 xem sao.

Trần Hoàn viết 19:57 ngày 01/10/2018
  1. Trong C++, bên trong khối if điều kiện nếu là một số: trả về true nếu khác 0, false nếu == 0
  2. Phép toán gán có trả về giá trị, chính là toán hạng được gán

Từ 1 và 2 suy ra if (val = 0) tương đương với if(0) tương đương với false

Ninh Nguyễn Văn viết 19:50 ngày 01/10/2018

Cảm ơn bạn Trần Hoàn. Câu trả lời này giúp mình rất nhiều

Bài liên quan
0