When you write if statements in C, there is a very important ``catch'' that you need to watch out for. It is very important that you remember to use ``=='' when to want know if two numeric values are equal. Why is it so important? Because it's easy to write this:
if (a = b) ...
with only one ``='' sign, when you really mean to write this:
if (a == b) ...
What's wrong with writing ``if (a = b)''?
Suppose that you are writing a program and need to know if the variable delta is equal to zero. If you write this:
if (delta = 0.0) ...
what do you think will happen?
The moral is to never confuse the ``='' assignment operator with the ``=='' comparison operator. Because it is so easy to mix up these operators in if statements, some C compilers will warn you whenever you use ``='' inside an if condition. But not all compilers are so smart.