Можно создать дубликат:
FAQ : Undefined Behavior and Sequence Pointsразличные выходы на другой компилятор
Различные выходы на другой компилятор? Это правда, что некоторые операторы могут генерировать разные выходы на разных компиляторах. У меня есть два компилятора для gcc и msvc. Когда я попробовал образец кода на обоих из них, я был потрясен, увидев на них разные выходы.
Это был образец кода.
#include<stdio.h>
int main(void)
{
int variable_a = 100;
printf("%d %d", ++variable_a, variable_a++); return 0;
}
Вывод, который я получил на НКУ было 102 100
На MSVC я получил 102 101.
Почему такая разница?
"неопределенное поведение". http://stackoverflow.com/questions/949433/could-anyone-explain-these-undefined-behaviors-iiiii-etc – kennytm
Тот факт, что вы потрудились вводить в программу, говорит о том, что у вас были причины подозревать это или следовать учебник, который следовало бы объяснить, так почему же он был шокирован? –
Я нахожусь в стадии обучения, и мне нравится проверять выходы на нескольких компиляторах. результаты были разными, так что спрашивать здесь. – Shruti