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; } |
출력결과
'Development > C, C++' 카테고리의 다른 글
C++ 핵심 가이드라인 (0) | 2017.01.28 |
---|---|
Warnning-Unused declaration of variable (0) | 2017.01.21 |
Ex-힙영역에 4byte 동적 메모리 공간을 할당한 후 할당된 공간에 데이터를 저장하고 이를 해제하는 코드 (0) | 2016.12.25 |
ART OF PROGRAMMING CONTEST - C Programming Tutorials, Data Structures, Algorithms (0) | 2016.12.20 |
Ex-자동 형변환(대입 연산자) (0) | 2016.12.14 |