• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

정수와 실수 출력에 관하여...

23.11.15 11:57 작성 조회수 195

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형으로 컴파일러가 변환 합니다. 참고하시기 바랍니다. :)

채널톡 아이콘