>백엔드 개발 >C++ >화씨에서 섭씨로 C 프로그램에서 0이 출력되는 이유는 무엇이며 어떻게 해결할 수 있나요?

화씨에서 섭씨로 C 프로그램에서 0이 출력되는 이유는 무엇이며 어떻게 해결할 수 있나요?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 14:41:30234검색

Why does my Fahrenheit to Celsius C   program output 0 and how can I fix it?

화씨에서 섭씨로의 변환: 필수 방정식 수정

이 C 프로그램의 목표는 화씨에서 섭씨로 변환하는 것입니다. 그러나 코드에서는 현재 예상치 못한 0의 출력이 발생합니다. 이 문제의 원인을 조사해 보겠습니다.

코드에서 문제가 있는 줄은 다음과 같습니다.

fahrenheit = (5/9) * (celsius + 32);

문제는 나누기 작업에서 발생합니다. (5/9). C에서는 기본적으로 정수 나누기가 수행됩니다. 즉, 결과가 정수로 잘립니다. 이는 부동 소수점 값을 사용하려는 의도에도 불구하고 나누기가 0이 되는 결과를 초래합니다.

이를 수정하려면 부동 소수점 산술을 사용하도록 나누기를 수정해야 합니다. 다음과 같이 피연산자 중 하나를 부동 소수점으로 캐스팅하면 됩니다.

fahrenheit = (5.0/9) * (celsius + 32);

5를 부동 소수점(5.0)으로 캐스팅하면 전체 나누기가 부동 소수점 모드에서 수행되도록 강제합니다. 올바른 변환 공식이 생성됩니다.

이제 수정을 통해 프로그램은 화씨에서 섭씨로의 변환을 올바르게 계산하여 섭씨 온도를 입력할 때 정확한 결과를 제공합니다.

위 내용은 화씨에서 섭씨로 C 프로그램에서 0이 출력되는 이유는 무엇이며 어떻게 해결할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.