dnjwlsl90   9일 전

10039번 제출했는데 

#include

using namespace std;

int main(void)
{
int score[5];
int sum;
for (int i=0;i<5;i++)
{
cin >> score[i];
if (score[i]<40) score[i]=40;
sum += score[i];
}
cout << sum / 5;
return 0;
}

위에 코드가 해당 문제 틀린 코드입니다.

#include

using namespace std;

int main(void)
{
int score[5];
int sum=0;
for (int i=0;i<5;i++)
{
cin >> score[i];
if (score[i]<40) score[i]=40;
sum += score[i];
}
cout << sum / 5;
return 0;
}

다음 이 위에 코드는 해당 문제 맞은 코드입니다.

차이는 처음 sum변수값을 0으로 초기화 차이인데 근데 제가 알기로는 C++에서는 변수 선언하면 0값으로 자동으로 초기화되지않나여???

제가 잘못알고있는건가요

확인차해보았습니다.

#include

using namespace std;

int main(void)
{
int sum;
cout << sum;
}

해서 sum값을 출력해보니 0이라고 나오더라구요

제가 모르는 다른 게 있는건가요??

jaehoo1   8일 전

지역변수를 선언하고 초기화하지 않으면

0이 들어가지 않습니다.

그냥 아무런 쓰레기 값이 들어가게 되는데,

단순히 실행환경 메모리에 0 이 많아

우연히 0이 들어가게 되는 것 뿐입니다.

dnjwlsl90   3일 전

감사합니다.

한 수 배우고갑니다!

댓글을 작성하려면 로그인해야 합니다.