Я только начал изучать C, и у меня возникают проблемы с пониманием, почему следующий код вообще работает:
void convertMyNumber (float myValue) {
int myNewValue = floor(myValue * 100);
printf("%d", myNewValue);
}
Глядя на документацию по math.h, утверждается, что floor()
Функция принимает double
в качестве аргумента, а также возвращает double
. Пока все отлично, я просто запустил приведенный выше код и набрал 576.73
в качестве значения для переменной myValue
. Удивительно (для меня), он напечатал ровно 57673
на экране, и мне трудно понять, как возможно, что он смог приписать возвращаемое значение функции floor
(a double
) до int myNewValue
.