강의

멘토링

커뮤니티

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

head님의 프로필 이미지
head

작성한 질문수

문제로 배우는 C언어

연필의 개수

안녕하세요! 혹시 궁금한게 있습니다.

작성

·

166

0

문제풀이 과정에서.
1.
b = ceil(a / 12.0); b= (int)b; printf("%d", b);
2.
b = ceil(a / 12.0);
printf("%d", (int)b);
의 차이가 궁금합니다.
물론 1번 코드는 정상작동하지 않았습니다 ㅠ

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

1. b=(int)b 는 실제 b변수가 int형이 되는게 아니라 더블형 그대로입니다. (int)b 이때의 결과만 int형일 뿐입니다.

2. print("%d", (int)b) 여기도 b는 더블형 그대로 이지만 (int)b의 결과는 int형이라 %d로 출력해도 문제가 없습니다. 

head님의 프로필 이미지
head

작성한 질문수

질문하기