Может кто-нибудь дать мне объяснение, почему я получаю два разных числа, соответственно. 14 и 15, как результат из следующего кода?
#include <stdio.h>
int main()
{
double Vmax = 2.9;
double Vmin = 1.4;
double step = 0.1;
double a =(Vmax-Vmin)/step;
int b = (Vmax-Vmin)/step;
int c = a;
printf("%d %d",b,c); // 14 15, why?
return 0;
}
Я ожидаю получить 15 в обоих случаях, но кажется, что мне не хватает основополагающих принципов языка.
Я не уверен, что это актуально, но я делал тест в CodeBlocks. Однако, если я нахожу те же строки кода в некотором онлайновом компиляторе (например, это), я получаю ответ от 15 для двух печатных переменных.