메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C 프로그래밍

뇌를 자극하는 C 프로그래밍 질의응답 게시판입니다.

질문입니다~+_+

2008-04-20

|

by 김병섭

1687

교재에 있는 소스는 아닌데요..

학교에서 하다가..이해가 잘 안가서요.. 여쭤볼게요.

========================================================
#include

int main()
{
        int a=3, b=2;
        double d1,d2,d3;

        d1 = a/b;
        d2 = (double)a/b;
        d3 = (double)(a/b);

        printf("d1 = %f\n", d1);
        printf("d2 = %f\n", d2);
        printf("d3 = %f\n", d3);

        return 0;
}
==========================================================

우선 제가 아직도 확실하게 감이 잡히지 않는 건..

double은 배정도실수? 그거니까..소수점도 나타내잖아요..

그런데 실행을 하면 왜 1.000000으로 나오나요...? 1.500000으로 나와야 하는거 아닌가요?

위에서 d1,d2,d3 모두 double로 선언했는데 왜 d2만 1.500000로 나오나요?

또 d3는 왜 1.000000으로 나오나요? %d로 하지도 않았는데...


제가 지금 어느 개념이 부족한지 가르쳐주세요

다시 읽어볼께요ㅠㅠㅠ
댓글 입력
자료실