인프런 커뮤니티 질문&답변

duejql03님의 프로필 이미지
duejql03

작성한 질문수

독하게 시작하는 C 프로그래밍

[필수 실습 문제] 버스요금 계산

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

해결된 질문

작성

·

242

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

duejql03님의 프로필 이미지
duejql03

작성한 질문수

질문하기