저는 2 개의 실수 값 가운데를 반환하는 간단한 함수를 C에서 작성했습니다.C에서 함수를 쓸 때 float 값을 반환했습니다
내 기능은 다음과 같습니다
float mid(float a, float b) {
return (a + b)*0.5;
}
문제는이 기능이 항상 0.000000을 생산하는 것입니다.
printf("%f", mid(2,5))
이 값은 0.000000으로 인쇄됩니다.
하지만, 난 그냥 할 경우 :
printf("%f", (2+5)*0.5)
이 정확한지, 3.5을 인쇄 할 수 있습니다.
이 문제를 어떻게 해결합니까?
전체 코드를 게시 할 수 있습니까? 같은 CU에 정의 된 함수였습니까? – tristan
질문을 업데이트하여 문제를 보여주는 완전한 자체 프로그램을 제시하십시오. 읽기 : http://sscce.org/. 귀하의 기능은 괜찮아 보입니다. 나는 문제가 무엇인지에 관해서 직감을 가지고있다. 그러나 그것을 명백하게하기 위해 자급 자족 프로그램을 취할 것이다. –
잘 작동합니다! 프로그램을 실행하면 3.5가 인쇄됩니다. Mayby 코드가 도움이 될 것입니다. 또한 이것을 시도해보십시오 : printf ("% f", mid (2.0, 5.0)); – Rizier123