2231번 - 분해합
처음에는 소스코드를 저렇게 생성자를 구했으면 FAIL값을 1을 줘서 1이 아니면 0이 나오도록 적었는데 틀렸다고 떴습니다 그래서
N = 0; break; } } if (N != 0) printf("0");
이렇게 적으니 맞다고 뜨는데 어떤 차이가 있는 것인가요 ??
fail은 초기화하지 않은 변수입니다. 우연히 fail의 값이 처음부터 1이라면 어떨까요?
초기화 하지 않았으면 값이 없는 것 아닌가요 ? 우연히 처음부터 1일 수가 있나용 ??
원래 다른 용도로 쓰던 메모리를 변수용으로 할당받은 것이므로, 초기화하지 않은 변수의 값은 이전에 쓰던 메모리 값이 그대로 남아있습니다. 따라서 초기화하지 않은 변수의 값이 어떤 값일지는 아무도 모릅니다.
fail = 0 등 1이 아닌 값으로 초기화해주시면 맞았습니다를 받을 수 있습니다.
이해했습니다 감사합니다 !!
댓글을 작성하려면 로그인해야 합니다.
whdkfma1456 1년 전
처음에는 소스코드를 저렇게 생성자를 구했으면 FAIL값을 1을 줘서 1이 아니면 0이 나오도록 적었는데 틀렸다고 떴습니다 그래서
이렇게 적으니 맞다고 뜨는데 어떤 차이가 있는 것인가요 ??