The output is 0, never seen this one before, how does it work exactly? My guess is it works like this:
mybool = !(myint1 != myint2) which is even weirder.
Let's put some parentheses in there to make it clearer what's happening: mybool = (myint1 != myint2);
So it evaluates myint1 != myint2 first. Since both are equal, that means myint1 != myint2 is false.
So it assigns false to mybool.
Line 7 outputs mybool. False gets converted to 0 and that's what you see. I believe there's a way to make it output "true" or "false" but I've never used it.