Ниже приведен код, который я запускаю в ubuntu 13.10. Код: -
#include<stdio.h>
main()
{
int i=10,j=10;
i=i++ + ++j;
printf("i=%d j=%d\n",i,j);
j=++i + j++;
printf("i=%d j=%d\n",i,j);
}
Выход: -
i=21 j=11
i=22 j=33
Логически, согласно правилам ans должно быть: -
i=22 j=11
i=23 j=35
И когда я запускаю этот код в ubuntu 12.10, тогда я получаю правильный ans, т. е. выше ans. Пожалуйста, объясните, что происходит?