명시적 형변환
바로찬글
질문 제목 : 명시적 형변환에 대해 질문있습니다.질문 요약 :질문 내용 :
열혈 c프로그래밍 공부하다 막히는게 있어서 질문드립니다.
명시적 형 변환: 강제로 일으키는 형 변환 을 공부하고 있는데요
1.#include stdio.h
2.
3.int main(void)
4.{
5. int num1=3, num2=4;
6. double divresult;
7. divresult = num1 / num2;
8. printf( 나눗셈 결과 : %f\n, divresult);
9. return 0;
10.}
이렇게하면 실행결과가
0.000000 이라는 건 이해했습니다.
여기서
0.750000 이라는 결과값을 출력하기위해서
1.#include stdio.h
2.
3.int main(void)
4.{
5.int num1=3, num2=4;
6. double divresult;
7. divresult = (double)num1 / num2;
8. printf( 나눗셈 결과 : %f\n, divresult);
9. return 0;
10.}
7행에 더블을 추가해야된다는데 여기서 이해가 안갑니다.
책에서는진행순서가
divresult = 3.0 / num2;
산술연산의 형 변환 규칙에 의해 num2에 저장된 값도 double형으로 자동 형 변환된다.
divresult = 3.0 /4.0;
이렇게 나와있는데
형 변환 규칙이 뭐길래 num1에만 double을 붙인걸 num2까지 영향을 받는지 궁금합니다.