질문하는 법 참고해서 재질문 드립니다.
296
권주리
작성한 질문수 1
0
http://boj.kr/8431081804b04c39b4db7bd8d7d686b4
int a[104][104], m, n, k, x1, x2, y1, y2, sum;
vector<int> v;
int dfs(int y, int x) {
visited[y][x] = 1;
sum = 1;
vector<int> v;
int dfs(int y, int x) {
visited[y][x] = 1;
sum = 1;
이렇듯 sum을 dfs 함수 내에서 정의하지 않았더니 결과가
3
1 2 4096 으로 나왔습니다.
1 2 4096 으로 나왔습니다.
이유가 뭘까요..??ㅜ
답변 2
0
전역변수로 선언해서 그렇습니다.
함수 내에서 sum자체가 변경되어 return이 되기 때문에 해당 부모함수의 sum에도 영향을 미쳐서 사이드이펙트가 일어나는데요.
해당부분을 그림으로 그려보자면 다음과 같습니다.
원래는 1 + 7이 되어야 하는데 전역변수로 선언해버려서 7 + 7 이런 꼴이 나타나게 되는 셈이죠.

감사합니다.
1-E질문입니다!
0
515
2
3-L 틀린 부분 피드백 부탁드립니다.
0
816
2
1-A문제 순열재귀함수 질문입니다.
0
380
1
1-A 일곱난쟁이문제입니다
0
454
1
문제 풀 때 방향성에 대해
0
798
1
맥에서 vs code로 실행 관련 질문입니다
0
520
1
17071번 메모리 초과
0
385
1
1-C질문입니다!
0
418
2
2-B BFS 시간초과질문
0
629
2
1-O 13번 라인
0
439
1
6-J 놀이공원 문제 질문
0
380
1
구현관련 질문
0
482
1
강의 교안
0
317
1
실력을 더 올리고나서 강의를 보는 것이 맞을까요?
0
545
1
안녕하세요! 재귀함수에 관해서 질문드립니다
0
535
1
1-K
0
472
2
3-G번 질문있습니다.
1
472
3
3-C 실행 시간 질문드립니다.
0
492
1
4-A 문제 풀이 질문있습니다.
0
590
2
비트마스킹 연산자 "1의 보수" 영문 표기법
0
433
1
격자탐색 문제에서 BFS 시간복잡도 질문드립니다.
0
333
1
3-O go 함수 질문 드립니다.
1
444
2
4-A 출력 질문
0
302
1
1주차 1-O 질문드립니다
0
254
1





