==
- это тест на равенство. =
- это задание.
Любая хорошая книга на С должна освещать это (довольно рано в книге, которую я себе представляю).
Например:
int i = 3; // sets i to 3.
if (i == 3) printf("i is 3\n"); // prints it.
Просто остерегайтесь гнусного:
if (i = 4) { }
, который является действительным C и часто ловит людей. Фактически присваивает 4 переменной i
и использует ее в качестве значения истинности в выражении if
. Это заставляет многих людей использовать уродливее, но безопаснее:
if (4 == i) {}
, который, если вы случайно используете =
вместо ==
, является ошибкой во время компиляции, а не чем-то, что укусит вас в обратную сторону во время работы вашей программы: -)
Логическим оператором или оператором являются два символа вертикальной черты, один за другим , а не один символ. Здесь он выровнен с логическим и и переменной с именем b4
:
||
&&
b4
Там нет магии.