Ситуация такая double real, a, b; a = 0; b = 10; real = (1/3)*(-(a*a*a)+(b*b*b));
и в отладчике видим, что real = 0;
А если так
real = -(a*a*a)/3+(b*b*b)/3;
то real = 333.3
Интересно почему это он так себя ведёт. Пару раз сталкивался с этим на gnu'шном компиляторе. Это компилятор или что-то ещё?