apple2365507   6년 전

반례를 도저히 못찾겠습니다. ㅜㅜㅜ

jh05013   6년 전

2
10 1
10 0

apple2365507   6년 전

어라 딱 1 뜨는데 답이 1 아닌가요...?

jh05013   6년 전

그러면 컴파일러 차이인 것으로 보입니다. 채점 환경에서는 2가 나옵니다.

https://ideone.com/1JaLQY

main 안의 배열을 초기화하지 않으면 무슨 값이 들어있을지가 정해져 있지 않습니다.

apple2365507   6년 전

음 그러면 어떻게 하면 되나요? 저는 Visual studio 2017에 모두 scanf_s써서 돌렸습니다.  제 생각에는 if(cow[j]<0) 이부분에서 뭔가 달라진거같아요 배열에 아무런값도 집어넣지않아서 쓰레기값으로 제 컴파일러에는 음수가 들어가있거든요

jh05013   6년 전

네, 하지만 링크한 대로 GCC에서는 음이 아닌 수가 들어갔습니다. 값을 넣지 않았을 때의 쓰레기 값은 무엇이든 될 수 있습니다. 그래서 값을 보기 전에 초기화는 꼭 해 줘야 합니다.

djm03178   6년 전

처음에 선언할 때

int cow[10] = {0};

이라고 하면 모든 원소가 0으로 초기화됩니다.

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