(C++)변수와 형변환의 중요성

이진·2022년 3월 17일
0

프로그래밍의 길

목록 보기
2/4

취침 전, 과제를 깔끔히 보완하고 자려했다. 어렵지 않게 한 10분? 정도 시간을 쓸 생각이었는데
이상한 부분에서 막혀서 취침시간이 늦어졌다.
float aver=0, sum=0;
for(int j=0; j<i; j++)
sum+=scores[j];
aver = sum / i ;
cout << "\tAverage: " << aver << endl;

*********************************************************
       

int sum = 0; float flo= 0;
for (int j = 0; j < maxSize; j++)
sum += scores[j];
flo = sum / i;
cout << flo << endl;

아래가 내가 작성한 코드이다. 두 정수합의 평균이 42.5가 나와야하나. 별 수를 다 써도 42.0만 나온다.
무슨 차이인지 보이는가?

int sum;

int

int !!!!!!!!

그렇다. sum을 int 형으로 처음에 초기화 하였으니, 평균을 구했을 때,
float 형변환이 일어나 정수로 표현된 것이었다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
다시는 이런 실수를 하지 말도록 하자 ㅠㅠ

profile
우공이산

0개의 댓글