Результат неизвестен: классическое неопределённое поведение. Операнды арифметической операции могут вычисляться в любом порядке. Потому неизвестно, какую часть выражения (num++) - (num) код, сгенерированный компилятором, вычислит раньше. Если сначала (num++), а потом (num) - поучим в ответе -1 А если сначала (num), а потом (num++) - получим в ответе 0. P.S. И это одна из причин, почему языки с Си-подобным синтаксисом совершенно не годятся для начального обучения программированию.