오류 발생
구름ide에서 병합정렬 알고리즘을 구현하다가 실행하려고 보니 다음과 같은 오류가 나타났다.
다른 플랫폼에서 코드를 실행했더니 정상적으로 작동하는 것을 확인했다.
코드에서 작동하지 않는 부분이 있는지 확인하기 위해 cout을 난사했더니 다음과 같은 부분을 발견했다.
해결
22번 줄에서 정수형 자료 i 가 제대로 선언되지 않은 것이 문제였다.
다음과 같이 수정하니까 코드가 제대로 작동하기 시작했다.
어라
애초에 저렇게 변수를 선언하면 안되나? 싶어서 간단한 코드를 만들어 돌려봤더니...
#include <iostream>
using namespace std;
int main(){
int i, j = 14;
cout << i << " " << j; // 실행결과 i : 0, j : 14
cout << endl;
return 0;
}
헉, i의 값이 14가 아니였다...
다른 플랫폼에서 돌려봐도 i의 값에 0이나 쓰레기값이 들어있었다.
왜 되는 줄 알고 있었지?
아무튼 위와 같은 오류가 났는데 변수 선언을 나처럼 했다면 바꿔서 코드를 돌려보도록 하자.
그리고 다시는 같은 실수를 반복하지 말자
'코딩 팁' 카테고리의 다른 글
[C/C++] if절에서의 float 자료형 비교 오류 (2) | 2023.06.08 |
---|---|
[C/C++] 실수형 자료 소수점 지정해서 출력하기 (0) | 2023.06.08 |