Hacker News new | ask | show | jobs
by segfaultbuserr 2374 days ago
It must be a typo.

Function calls have the highest priority here, followed by logic NOT and logic OR.

    !didIMakeAMistake() || CIsWrongHere();
!didIMakeAMistake() is evaluated first (or you can say didIMakeAMistake() is executed and evaluated first, then its result is inverted and checked), if it's true, evaluation is finished. If it's false, CIsWrongHere(); is evaluated.

It is indeed equivalent to

   if (didIMakeAMistake())  /* !didIMakeAMistake() == false? */
      CIsWrongHere();
Without the invertion.
1 comments

Thank you guys so much! I've changed it immediately.