이 오류는 프로그래머스 문제 나머지가 1이 되는 수 찾기를 풀다가 만나게 되었다.

아래는 내가 오류를 겪었던 코드이다.

어느 줄에서 오류가 났을지 같이 찾아보자...

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(int n) {
    int answer = 0;
    
    for (int x = 0; x < n; x++)
    {
        if (n % x == 1)
        {
            answer = x;
            break;   
        }
    }
    
    return answer;
}

 

찾았나요..?

바로 n % x == 1이라는 구문인데, 지금 x는 0부터 시작되고 있는데 0은 나눗셈으로 정의되지 않는다.

C++에서는 0으로 나누기를 실행할 때 런타임 오류로 이어진다고 한다.

 

항상 나눗셈이나 나머지 연산을 수행할 때에는 값이 0이 아닌지 확인하자..

'C++' 카테고리의 다른 글

[C++] Text RPG 몬스터 생성 로직 설계  (1) 2025.01.13
[C++] 컴파일러와 인터프리터?  (1) 2025.01.03
[C++] Template, STL  (0) 2025.01.02
[C++] 유니크 포인터  (0) 2024.12.31
[C++] 생성자와 소멸자  (0) 2024.12.30