(C++)변수와 형변환의 중요성
취침 전, 과제를 깔끔히 보완하고 자려했다. 어렵지 않게 한 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 형변환이 일어나 정수로 표현된 것이었다. ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
다시는 이런 실수를 하지 말도록 하자 ㅠㅠ
Author And Source
이 문제에 관하여((C++)변수와 형변환의 중요성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wools/C변수와-형변환의-중요성저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)