이 오류는 프로그래머스 문제 나머지가 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 |