printf(\"num1 / num2 = %d / %d = %d\\n\",num1,num2,num1 / num2);
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,num1 / num2);
//정수/정수를 ->실수/정수 캐스팅(형변환) (float)
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,(float)num1 / num2);
저거 실행해보면 printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,num1 / num2);
이 부분은 답이 0 으로 뜨고
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,(float)num1 / num2);
이 부분은 답이 0.090909이렇게 제대로 나오거든?
근데 printf(\"\\n num2 + 11.5 = %d + 11.5 = %d\\n\",num2,num2 + 11.5);
printf(\" num2 + 11.5 = %d + 11.5 = %f\\n\",num2,num2 + 11.5);
이 쪽에서는 뒤에 (float)를 안 붙여 줘도 답이 제대로 나와 실수로
나누기 할때에만 (float) 해줘야 하는거야? 뭐가 차이점이야?
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,num1 / num2);
//정수/정수를 ->실수/정수 캐스팅(형변환) (float)
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,(float)num1 / num2);
저거 실행해보면 printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,num1 / num2);
이 부분은 답이 0 으로 뜨고
printf(\"num1 / num2 = %d / %d = %f\\n\",num1,num2,(float)num1 / num2);
이 부분은 답이 0.090909이렇게 제대로 나오거든?
근데 printf(\"\\n num2 + 11.5 = %d + 11.5 = %d\\n\",num2,num2 + 11.5);
printf(\" num2 + 11.5 = %d + 11.5 = %f\\n\",num2,num2 + 11.5);
이 쪽에서는 뒤에 (float)를 안 붙여 줘도 답이 제대로 나와 실수로
나누기 할때에만 (float) 해줘야 하는거야? 뭐가 차이점이야?
저건 0,몇 해가지고 소수점이 있으니 소수점까지 나오는거고
변수는 int 형이니 int 만을 사용했을때 값이 1이하 소수점이기 때문에 생략되는거고
피연산자 두개 중에 실수가 있으면 결과가 실수, 피연산자 둘 다 정수면 결과가 정수