Why doesn\'t func3 get executed in the program below? After func1, func2 doesn\'t need to get evaluated but for func3, shouldn\'t it?
if (func1() || func2()
If you want all functions to be executed you can drop the short-cut variants
if (func1() | func2() & func3()) {