Занятная штука выходит и не пойму почему выводит 0, а не вещественное число. Вот код
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream.h>
#include <conio.h>
int main()
{ system("cls");
double h=1/4; //Ведь присваивается значение 0.25 или я что то не правильно понимаю
cout<<"h= "<<h<<endl;
getch();
return 0;
}
КРЕСТОПРОБЛЕМЫ
А вот в нормальных языках хоть 1/4 и даёт целый ноль, но ты не сможешь присвоить его вещественному числу - пока не напишешь 1.0/4.0, программа просто не скомпилируется.
TarasBer, Pascal?
Account,
double h = (double) 1 / 4;
f: double;
// ...
f := 1/4;
f : Float;(Приведение только одного числа к Float-у проблемы не решит, программа не будет компилироваться, пока оба операнда не будут одного типа )
-- или
f := Float (1/4); -- f = 0
-- или
f := 1.0 / 4.0; -- f = 0.25
> f := Float (1/4); -- f = 0
В таком случае, если честно, тоже ноль не интуитивно очевиден, но всё-таки, если человек поставил Float вокруг всего выражения, то он это уже сделал сознательно и сам виноват, если что, а не его невнимательность.