해결된 질문
작성
·
243
0
#include <stdio.h>
int main(void)
{
int fee=1000;
printf("%d\n", fee * 0.75);
int fee2 = 1000 * 0.75;
printf("%d", fee2);
return 0;
}
섹션 11의 버스요금 계산 문제를 풀면서 궁금한 점이 생겼습니다. 예제를 작성할때 첫번째 방법으로 풀었더니 출력이 0이 나와서 두번째 방법으로 해보니 정상적으로 750이 출력되었습니다. 이 두 가지 방법의 차이점이 무엇인가요?
답변 1
0
fee 0.75는 double형식 입니다. 그러나 1000 * 0.75는 같은 double이라 하더라도 fee2 변수의 초깃값이 되며 이 과정에서 형식을 강제로 int형으로 컴파일러가 변환 합니다. 참고하시기 바랍니다. :)