30/09/2018, 18:47
Câu lệnh if không đúng điều kiện nhưng vẫn hoạt động
Mình có chương trình đơn giản như sau:
int main(){
int this = 5;
if (this = 3) {
printf("wrong");
}
else if (this = 2) {
printf("something");
}
return 0;
}
Mặc dù không có giá trị đúng của if nhưng chương trình vẫn chạy và in ra trường hợp this = 3:
wrong
Mọi người giúp mình giải thích là tại sao nó lại hoạt đông như vậy. Xin cảm ơn
Bài liên quan
mệnh đề if của em sai rồi.
Viết đúng
Cảm ơn ạ. Chắc tại lâu rồi không đụng tới C nên quên hết.
Em viết if(this=3) nên khi thưc hiện máy sẽ hiểu thành if(3) vì 3>0 nên biểu thức đúng.
=> xuất ra màn hình wrong.
Để tránh mấy lỗi như thế này bạn có thể để giá trị đằng trước biến
Khi sử dụng
if(2 = this)
sẽ báo lỗi thì mình sẽ biết là chỗ so sánh bị saiĐây là cái bạn đang tìm đây