30/09/2018, 17:41
Tại sao `If (u = v) {}` lại không báo lỗi và vẫn chạy vào trong chương trình trong khi lệnh `if (u == v) {}` mới đúng?
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.
Bài liên quan
Vì
u = v
sẽ làm hai việcu = v
v
Khi đó lệnh
if (u = v) {}
sẽ tương đương vớiTrong C++, nếu
v
có kiểu dữ liệu cơ bản, tứcint
,char
,bool
,float
, … thìif (v)
luôn hợp lệ vớiv
bằng0
làfalse
v
khác0
làtrue
Thử
v
vớistd::string
thì sẽ bị báo lỗi do không thể convertstd::string
thànhbool
được.Xem thêm video nói về vấn đề này
cảm ơn anh , thú vị thật