jim hardy said:
what do the double operators in mean, == && ?
Does C use integer 0 and -1 for true & false , like Basic ?
I'm afraid if I answer this I'll get warning

. But everybody did

,
Okay here we come.
"==" is comparison, as everybody else says.
But "=" is an assignment and
AN OPERATOR.
Okay, here's the example.
Let's say we involved 2 variables. B and C
A = B == C, a will be 1 (in C, -1 in BASIC) if B equal C, 0 (either C or BASIC) if otherwise.
In C
A = B = C, A will be C (and B will C as well). It's an assignment and operation.
In BASIC
A = B = C, A will be -1 if B equal C, 0 if not. It's a comparison not assignment.
Pascal
A:=B:=C, is an error expression.
Well actually the above example
A = B == C is error in BASIC there's no == operation.
What's interesting in C is
= is an operator. Consider this format
A = B + C;
A = B - C;
A = B
= C;
A = B / C;
All are valid.
What is && as compared to &?
&& is a logical operator.
& is a bitwise operator.
Because this is not programming language forum, I can't go further on the risk of getting kicked

.
And I will conclude this post by
BOLT
Binary One, Logical Two!
& is binary AND
| is binary OR
&& is logical AND
|| is logical OR