Ex-강제 형변환 필요성

CODEDRAGON Development/C, C++

반응형


강제 형변환 필요성

정수를 정수 나눌 경우 데이터 손실이 발생

   

   

   

소스코드

   

#include <stdio.h>

int main(void) {

int num1=10; //정수

int num2=3; //정수

double result; //실수

//정수형/정수형 -> 자동형변환에 의해 연산결과인 3.333 값에서 정수값만 result 저장됩니다.

result=num1/num2; //3 = 10/3 (3.333....)

printf("결과1 : %lf \n", result); //데이터 손실 발생

result=(double)num1/num2; //강제 형변환, 실수형/정수형

printf("결과2 : %lf \n", result);

result=num1/(double)num2; //강제 형변환, 정수형/실수형

printf("결과3 : %lf \n", result);

result=(double)num1/(double)num2; //강제 형변환, 실수형/실수형

printf("결과4 : %lf \n", result);

return 0;

}


   

   

출력결과