작성
·
233
0
본 강의에서 사용된 fabs() 말인데요.
fabs()를 사용하지 않고
그냥 while ((guess - PI) > 0.01)이라고 코드를 짜면
왜 제대로 돌아가지 않는건가요?
guess도 PI도 다 double로 선언되어 있으니까 두 변수를 뺀 값도 double 타입을 가져서 소수점 자리수가 상세하게 저장되지 않나요? 그래서 (guess - PI) > 0.001이 제대로 계산될 줄 알았는데, fabs를 사용하지 않으면 결과값이 제대로 출력되지 않네요...?
답변 1
0
어떻게 소스코드를 작성하셨을까요?
질문에서 (guess - PI) > 0.001와 (guess - PI) > 0.01라는 표현이 혼재되어서요.
또한 scanf("%lf", &guess); 에서 볼 수 있듯 lf 형으로 선언된 guess 변수와
PI를 직접 뺀 값을 printf로 찍어보시거나 디버거로 찍어보며
뺄셈 결과를 확인해볼 수 있으니 참고 바랍니다.
제가 질문을 좀 헷갈리게 드렸었네요. 죄송합니다.
디버거로 찍어보고 확인해본 다음 그래도 궁금하면 다시 질문드리겠습니다!