|
아래와 같이 하였을 때 c 와 d의 값이 다르게 나오는 이유는 무엇일까요?
c를 double로 하였을 때는 결과 동일함.
// code
#include <stdio.h>
#include <conio.h>
//---------------------------------------------------------------------------
void main()
{
int a = 8, b = 5, *p = &a, *q = &b;
float c;
double d;
c = (float) 8 * *p / *q + 15;
d = (float) 8 * *p / *q + 15;
printf(" c = %f\n", c);
printf(" d = %f\n", d);
getch();
}
// 결과
c = 27.799999
d = 27.800000
|