cho e hỏi tại sao e viết chương trình lệnh điều kiện trong C++
if (u = v) {} tại sao lại không báo lỗi mà vẫn chạy vào trong chương trình trong khi lệnh if (u == v) {} mới đúng?
Cảm ơn.
cho e hỏi tại sao e viết chương trình lệnh điều kiện trong C++
if (u = v) {} tại sao lại không báo lỗi mà vẫn chạy vào trong chương trình trong khi lệnh if (u == v) {} mới đúng?
Cảm ơn.
Vì u = v sẽ làm hai việc
u = v
v
Khi đó lệnh if (u = v) {} sẽ tương đương với
u = v;
if (v) {}
Trong C++, nếu v có kiểu dữ liệu cơ bản, tức int, char, bool, float, … thì if (v) luôn hợp lệ với
v bằng 0 là false
v khác 0 là true
Thử v với std::string thì sẽ bị báo lỗi do không thể convert std::string thành bool được.
Xem thêm video nói về vấn đề này
cảm ơn anh , thú vị thật 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?