Почему printf ("%f", n1) выводит 3.000000, вместо 43.000000? Вводим 32
#include <cmath>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main() {
float r;
scanf("%f",&r);
float n1 = printf("%.0f\n",trunc ( r*pow(1024,2)*pow(760*1024,-1) ));
printf ("%f", n1);
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
float r;
scanf("%f",&r);
Ввели 32
float n1 = printf("%.0f\n",trunc ( r*pow(1024,2)*pow(760*1024,-1) ));
Вычислили и вывели 43 без десятичных цифр (запрошено "%.0f\n"
)
В n1
(которое зачем-то float
) вывели количество выведенных символов - их 3 (включая символ новой строки).
printf ("%f", n1);
Вывели эту тройку. По умолчанию - с шестью цифрами после точки ("%f"
).
Что не так?