logical if in C

The much easier to read functional equivalent code would be (unless the OP overloaded the = operator):

temp = -1;
{}

Notice that the first assignment will evaluate to true thus the second assignment will not be processed because || has short circuit evaluation.