int team[2]; // 0번팀과 1번 팀이있음.
로 team 의 인자는 0, 1 이 가능하나
team[1] = 0; team[2] = 0;
이나
check[count]=2; check[count]=1;
과 같이.. (check 값이 team의 인자로 쓰이니까..)
1, 2 로 인덱싱 합니다.
즉, team 배열 뒤의 할당되지 않는 메모리를 사용하기 때문에 경우에 따라서 다른 값이 나옵니다.
이와 같이 상관없어 보이는 코드를 넣고 빼고에 따라서 결과가 달라지면 메모리를 잘못 건드리는 것을 의심해봐야합니다.
hunsoo911 4년 전
군대에서 처음 코드를 짜다보니 디버깅을 할 수 없었습니다. 그래서 출력을 통해 값을 확인했습니다.
그런데 출력만 했는데 계속 값이 바뀌는 겁니다. 그래서 출력에 변수를 넣으면 값이 초기화되나?
이런 생각을 했는데 "cout << "";"으로 넣어 보았습니다.
ex)
cout << ""을 넣지 알았을 때 출력 : 5
cout << ""을 넣었을 때 출력 : 0
이렇게 나와 왜 결과 값이 바뀌는지 이해할 수 없었습니다.
고수분들이 답변해주시면 감사하겠습니다.