0
사용자 입력으로 세 개의 배열을 채우고 그 값의 평균을 계산하는 함수를 작성하고 있습니다. 하지만 이상한 오류가 나타납니다.이상한 오류 - 배열 내용을 출력하면 결과가 변경되지 않더라도 결과가 변경됩니다.
이것은 매우 이상합니다. 이 코드를 주석 때 :
#include <iostream>
using namespace std;
void fill_up(int a[], int size);
void fill_up(int a[], int size)
{
cout << "Enter " << size << " numbers:\n";
for (int i = 0; i < size; i++)
cin >> a[i];
size--;
cout << "The last array index used is " << size << endl;
}
int main()
{
int Steve[5];
int George[5];
int Mary[5];
cout << "~ Fill up the Steve array ~" << endl;
fill_up(Steve, 5);
cout << "~ Fill up the George array ~" << endl;
fill_up(George, 5);
cout << "~ Fill up the Mary array ~" << endl;
fill_up(Mary, 5);
/*
for (int i = 0; i < 5; i++)
cout << Steve[i] << ",";
cout << endl;
*/
int SteveSum, GeorgeSum, MarySum = 0;
double SteveAvg, GeorgeAvg, MaryAvg;
for(int i = 0; i < 5; i++)
{
SteveSum += Steve[i];
GeorgeSum += George[i];
MarySum += Mary[i];
}
SteveAvg = ((double) SteveSum)/5;
GeorgeAvg = ((double) GeorgeSum)/5;
MaryAvg = ((double) MarySum)/5;
cout << "Steve's average is " << SteveAvg << endl;
cout << "George's average is " << GeorgeAvg << endl;
cout << "Mary's average is " << MaryAvg << endl;
}
for (int i = 0; i < 5; i++)
cout << Steve[i] << ",";
cout << endl;
다음은 명령 줄에서 실행되는 코드의 두 스크린 샷입니다.
I 인쇄 배열 조각이, 스티브의 평균 이상한 많은 수에서 나오는 것을 언급,하지만 난의 주석 때 잘 작동 니펫을 그 때 당신이 볼 수 있듯이. 무슨 일이야?
int SteveSum, GeorgeSum, MarySum = 0;
오른쪽 :
과 같은 줄에 여러 변수를 선언 나쁜 생각입니다 이유입니다) 그들이 물론 – Borgleader
@deviantfan, 당신을 다른 무엇인가 실제로 기대하니? 주제에 대한 질문 인 경우 질문입니다. –
죄송합니다. 삭제되었습니다 ("가장 간단한 질문은 msot의 upvotes를 얻는 것이 항상 재미 있습니다"). 나는 정말로 다른 것을 기대하지 않지만 모든 것이 더 나아지지 않습니다. – deviantfan