Програмирование на СИ
Есть два числа типа int, и есть переменная в которую будет записано результат деления этих чисел, которая имеет тип float.
При делении инт на инт получается дробное число, и присваивается к флоатовской переменной она уже нулем, т. к. целая часть у результата равна нулю.
Но нужно получить именно число с плавяющей точкой после операции деления целых чисел. Как это сделать?
float step = (b - a) / n[0];
printf("%3.3g\n", step);
Константы такие - b=6, a=1, n[0] = 10, все константы имеют тип int.
Программа на выходе выдает 0
По дате
По рейтингу
float step = ((float)(b - a)) / n[0];
или
float step = (b - a) / (float)n[0];
Как не самый быстрый, но очевидный вариант:
float step = 1.0 * (b - a) / n[0];