float value 연산시 생길 수 있는 흔한 실수이므로 주의가 필요하다.
#include <stdio.h>
void print(float val)
{
printf("val : %3.3f\n", val);
}
int main(void)
{
int val = 5204;
print(val/100); // 의도하지 않은 코드
print(static_cast<float>(val)/100); // 원래 의도한 코드
}
결과는 아래와 같다.
val : 52.000 <- 의도하지 않은 결과
val : 52.040 <- 의도한 결과
댓글 없음:
댓글 쓰기