Trong ngôn ngữ lập trình C, ==
và =
là hai toán tử khác nhau với mục đích sử dụng khác nhau:
Toán tử Gán =
=
là toán tử gán, được sử dụng để gán giá trị cho biến.- Khi sử dụng
=
, giá trị ở bên phải toán tử sẽ được gán vào biến ở bên trái. - Ví dụ:
int myVariable = 10;
gán giá trị10
vào biếnmyVariable
.
Toán tử So Sánh ==
==
là toán tử so sánh bằng, được sử dụng trong các biểu thức điều kiện để so sánh giá trị của hai biểu thức hoặc hai biến với nhau.- Khi sử dụng
==
, nó sẽ kiểm tra xem giá trị của hai bên có bằng nhau hay không và trả vềtrue
(giá trị không phải là 0) nếu chúng bằng nhau, vàfalse
(giá trị là 0) nếu chúng không bằng nhau. - Ví dụ:
if (a == b)
kiểm tra xem giá trị củaa
có bằng giá trị củab
hay không.
Ví dụ Minh Họa
int a = 5; // Gán 5 vào a
int b = 10; // Gán 10 vào b
if (a == b) {
// Kiểm tra xem a có bằng b không
printf("a và b bằng nhau.");
} else {
printf("a và b không bằng nhau.");
}
Trong ví dụ này, a = 5
và b = 10
sử dụng toán tử gán =
để gán giá trị. if (a == b)
sử dụng toán tử so sánh ==
để kiểm tra xem a
và b
có bằng nhau không.
Lưu Ý Quan Trọng
- Một lỗi phổ biến trong lập trình C là việc nhầm lẫn giữa
==
và=
. Sử dụng=
trong một biểu thức điều kiện thay vì==
sẽ gây ra gán giá trị thay vì so sánh, có thể dẫn đến hành vi không mong muốn của chương trình. - Để tránh lỗi này, một số lập trình viên thích đặt giá trị cố định hoặc biến không thay đổi ở bên trái của toán tử
==
trong điều kiện, ví dụ:if (5 == a)
. Cách này được gọi là "Yoda conditions", giúp phát hiện lỗi sớm hơn nếu bạn vô tình sử dụng=
thay vì==
.
Comments