문제

I want to use the natural logaritm in c-language.

I searched google and found a question of this at stackoverflow.com

But When I implement this I get a very cryptic output

here is the code

 double x = log(100 / 150);

 printf("d1: %lf", x);

and the output:

 d1: -1.#INF00

What is this? Is it some kind of garbage? What is wrong?

도움이 되었습니까?

해결책

Integer division makes 100 / 150 equal to 0, therefore, log(0) is not defined.

Change the code to log(100.0 / 150.0).

다른 팁

If the parameter to log is 0, the output is implementation defined.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top