Арифметические операторы и вызов функций в C - PullRequest
0 голосов
/ 26 мая 2010

Я не совсем уверен, почему я не могу сделать

double a = (double) my_Function(45) / 2048 / 2340 / 90;
printf("%.4f",a); // prints out 0.00

Но вместо этого я должен использовать еще одну переменную как:

double a = (double) my_Function(45);
double b = a  / 2048 / 2340 / 90;
printf("%.4f",b);  // prints out the correct value

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Что возвращает my_Function? Возможно, ваш ответ меньше 10 ^ (- 4).

0 голосов
/ 26 мая 2010

Все сводится к порядку операций.

Вы в основном делаете это в первой строке

double a = (double)(my_Function(45) / 2048 / 2340 / 90);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...