whdkfma1456   1년 전

처음에는 소스코드를 저렇게 생성자를 구했으면 FAIL값을 1을 줘서 1이 아니면 0이 나오도록 적었는데 틀렸다고 떴습니다 그래서

N = 0;
            break;
        }
    }
    
    if (N != 0)
        printf("0");

이렇게 적으니 맞다고 뜨는데 어떤 차이가 있는 것인가요 ??

rhdqor213   1년 전

fail은 초기화하지 않은 변수입니다. 우연히 fail의 값이 처음부터 1이라면 어떨까요?

whdkfma1456   1년 전

초기화 하지 않았으면 값이 없는 것 아닌가요 ? 우연히 처음부터 1일 수가 있나용 ??

rhdqor213   1년 전

원래 다른 용도로 쓰던 메모리를 변수용으로 할당받은 것이므로, 초기화하지 않은 변수의 값은 이전에 쓰던 메모리 값이 그대로 남아있습니다. 따라서 초기화하지 않은 변수의 값이 어떤 값일지는 아무도 모릅니다.

fail = 0 등 1이 아닌 값으로 초기화해주시면 맞았습니다를 받을 수 있습니다.

whdkfma1456   1년 전

이해했습니다 감사합니다 !!

댓글을 작성하려면 로그인해야 합니다.