mình đã làm trong danh sách liên kết trong hàm find_node nhưng kết quả khác nhau,
ai có thể giải thích ko
Sự khác nhau của if(p->key_=x) và if(p->key_==x) trong c++
nếu bạn dùng if(x=y) sẽ gán giá trị của y cho x, và se gây ra lỗi
còn if(x==y) đơn giản dùng để so sánh xem x có bằng y hay không.
1 Like
x=y là phép gán y cho x còn x==y là phép so sánh x với y bằng nhau hay không, if(x=y) sẽ bị lỗi
1 Like
chưa chắc
node *tim_node(node * head, int x){
node *p = head;
while (p->key_!=NULL)
{
if (p->key_== x){
return p ;
p = p->next_;
}
return NULL;
}
}
thì nó chạy lỗi
còn nếu mình sửa thành
if (p->key_= x) nó chạy hoàn hảo
là sao
sao có dấu cách giữa 2 dấu = v bạn??
1 Like
mình up lên bấm bậy đó mà, nhưng cũng vậy thui
mình đổi tên topic cho rõ hơn
ko ai biết à
Điều kiện vòng while sai, phải là p!=NULL
. p=p->next_;
cũng phải ở ngoài if. Hoặc là làm thế này cho gọn:
while(p!=NULL&&p->key_!=x){
p=p->next_;
}
return p;
1 Like
cũng chạy ra lỗi thui điền head thì dc chứ các node trong link list thì ko ra
code ở đây bạn thử thay đổi theo ý và truyền tham số khác head xem
cảm ơn ae