30/09/2018, 16:20
Công dụng của dấu ! trong C++ là gì?
cho em hỏi ngoài việc dùng trong != (khác) thì dấu ! dùng làm gì nữa ạ? tại em vừa tìm thấy đoạn code tìm UCLN trên mạng có cái này
int ucln( int a, int b) //UCLN
{
if (!a) return b;
return ucln(b%a, a);
}
Bài liên quan
thank you ^^, tại em vừa mày mò học C++ nên nhiều chỗ cơ bản chưa nắm rõ.
Dấu ! còn được dùng trong hàm printf hoặc cout, để dòng được xuất ra màn hình là câu cảm thán. Ví dụ:
hay là
! là phủ định điều kiện a
if(!a) là tương đương với if(a==0)
??? lạ nhỉ
Câu trả lời của @kongdap ngắn gọn mà cụ thể nhất.
Nhưng if (!a) <=> if(a == 0) ???
Hoàn toàn chính xác như vậy.
if (a)
có nghĩa là nếua != 0
, có thể đọc là nếu có a thìif (! a)
có nghĩa là nếua == 0
, có thể đọc là nếu không a thìỐ ồ hay quá
Bác này tỏ tình trá hình =))
cái này vừa học vừa chơi haha
anh Đạt siêng dữ ^^ topic nào hầu như anh cũng reply ^^ em thay mặt mọi ng cảm ơn anh và các pro nhiều nghen <3 - Idol ^^
! là toán tử đảo ngược bit: từ 1 thành 0, từ 0 thành 1. Hiểu như vậy thì toàn diện hơn.
Toán tử ~ mới đảo bit O3O
Còn ! thì true thành false, false thành true thôi.
Như !3 = 0
Còn ~3 = 1100 (-4)
Có một cái nhiều người hay nhầm lẫn đáng tiếc về cái vụ này.
Đó là người ta dùng chuẩn mà không có
true
,false
thì người ta thường phải tự define lấy theo kiểudẫn đến nhiều người lầm tưởng những số như khác 1 cũng sẽ bằng
true
, dẫn đến lúc code thế nàynếu
bien_nao_do_kieu_char
= 127 chẳng hạn, người ta nghĩ nó vào nhánh đầu nhưng nó lại nhảy vào nhánhelse
khiến họ rất băn khoăn.mình nhầm
chắc đọc là nếu ko phải a thì trả về b …
Một ví dụ cho bạn:
A post was split to a new topic: Dấu % trong C++ là gì?