Reviewing IPC 144
The Question Mark Operator
c = a > b ? 100 : 200;
It replaces an if statement and is much faster. If a is greater than b then 100, else 200.
Please note: The types 100 and 200 must be the same type or else it will not work.
printf("%d %d, b, b = b + 1);
It returns 21 21. Why? Some compilers stack the arguments and read the last argument first. Therefore, it would see b as 21 as well.
a = printf("%d %d, b, b = b + 1);
What is a?
printf returns the number of characters printed (scanf also returns the number of characters input - special note: scanf cannot return a number greater than the % symbols in your scanf statement).