C언어에서

float a=1/2;

printf(\"%f\",f);

하면 0.5가 나올줄 알았는데 왜 0이 나오는거야?

int형이라면 소수아래꺼 다 버리고 나와서 0이 나오는거 보면 될텐데

float형이면 소수도 표현해야 되니까 0.5 나와야 되지 않나?

그리구 식 안에서도 분수가 정수로 인식되더라구

f=2/3+8/3+10/3 = 20/3 = 6.xxxxx

6 나올줄 알았는데 5가 나오더라구 아마도 0+2+3=5 이렇게 된거 같은데

이거 원래 이런거야?