22_70006252   1년 전

처음에는 10행에 있는 minlen(최소길이)를 1로 잡아서 틀렸고,

이후 다른 사람의 풀이를 참고하다 해당 값을 0으로 바꾸어서 맞았습니다.

그런데 틀린 풀이를 제출하기 직전에 풀이 검정을 하였을때 출력값이 0인 예제에 대해서도 정상적으로 출력이 진행되어 문제를 발견하지 못했었습니다.

그래서 그 이유를 생각해보면서 코드를 뜯어보니까 애초에 long long ans;(17행) 직후 cout<< ans; 를 진행하니 항상 0이 출력되는 것을 확인할 수 있었습니다.

혹시 해당 값이 항상 출력되는 이유가 무엇인지, 단순히 우연히 그런 것인지 궁금합니다.

dosawas   1년 전

전역변수는 초기화안하면 0이 저장됩니다. 하지만 지역변수는 초기화를 안하면 쓰레기값이 들어가죠 컴파일러가 아무값이나 넣어주는거죠. 

그러니까 컴파일러가 우연히 0을 넣어줘서 맞았던 걸껍니다. 비주얼 스튜디오가 0을 넣어주나봅니다.

22_70006252   1년 전

그냥 컴파일러가 맘대로 넣은 값이며, 컴파일러에 따라 충분히 변경 될 수 있다는 것이죠? 감사합니다!

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