드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C언어 double 과 float에 관해 궁금한것이 있습니다!
게시물ID : jisik_125055짧은주소 복사하기
작성자 : c언어
추천 : 0
조회수 : 1441회
댓글수 : 5개
등록시간 : 2012/05/04 14:50:32
안녕하세요.
C언어로 프로그램을 짜던 도중 이상한점이 있어서 글 올립니다.
#include<stdio.h>
float area(float r);
float circumference(float r);
int main(void)
{
float r;
printf("실수 r을 입력하세요=====>");
scanf("%f",&r);
printf("\n\n입력한 반지름 r에 따른 면적은 %f \n 원의 둘레는 %f 입니다.\n\n\n",area(r),circumference(r));
}
float area(float r){
float pi=3.14;
return (r*r*pi);
}
float circumference(float r){
float pi=3.14;
return (2*r*pi);
}
다음과 같이 r 값을 입력하면 원의 면적과 둘레를 구해주는 프로그램을 만들었는데,
float으로 선언을 해주면 원의 면적이나 둘레 값이
50.240002
이런식으로 나오고
double로 선언을 해주면
50.2400000
이런식으로 값이 나옵니다.
정확하지는 않지만, 이렇게 소수점 마지막자리에 float 형일 경우 숫자가 생기는데요
왜이런 현상이 일어나는 건가요??
댓글 분란 또는 분쟁 때문에
전체 댓글이 블라인드 처리되었습니다.
새로운 댓글이 없습니다.