#include <stdio.h>
int main(void)
{
float c;
c = 4.7;
if(c == 4.7)
{
printf("Hello World");
}
return 0;
}
문제는 float 데이터 유형과 관련이 있습니다. Hello world를 인쇄하려면 (float) 4.7 왜 사용해야합니까 ??형식 캐스팅없이이 코드에서 float 데이터 형식이 작동하지 않는 이유는 무엇입니까?
숫자의 부동 소수점 표현이 부정확하기 때문에. 읽기 this http://stackoverflow.com/questions/2100490/floating-point-inaccuracy-examples – suspectus
[어떻게 부동 소수점 값을 비교하는 것이 위험합니까?] (http://stackoverflow.com/questions/10334688/how-dangerous – user1336087
[** 부동 소수점 안내 - 모든 프로그래머가 알아야 할 사항 ... **] (http : // 부동 소수점 부동 소수점 값) 안내서/). 문제는 당신이 생각하는 것을 비교하지 않는다는 것입니다. –