Почему при делении получаю 0, а не число с плавающей точкой и цифрами после запятой

Рассмотрим пример:

    float r = 2/5;
    std::cout << r << endl;


Мы получим 0, но почему? Ведь мы явно указали тип float и должны получить дробное число с запятой. Но компилятор С++ считает, что вы разделили целое на целое и результат должен быть целым. Поэтому, чтобы указать что мы хотим разделить и получить число с плавающей точкой, нужно явно записать так:

    float r = 2/f/5;
    std::cout << r << endl;


Теперь результат деления будет уже тот, который мы хотим увидеть - 0.4



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы