실기 기출문제집 94p - 2019년6월 기출문제2번
문제해설(158p)을 보면 'java에서는 배열 선언 시 모든 요소가 0으로 초기화됩니다.출력시 값이 저장되지 않은 요소에는 0이 출력됩니다'라고 적혀있는데, c언어에서도 값이 저장되어있지 않으면 0이 저장되나요 아니면 값이 없나요???
동일한 문제를 c언어에서 출제됐다면 답은 동일하게 00001011이 되는지, 1011이 되는지 정답알려주세요~~~
안녕하세요 길벗수험서 운영팀입니다.
Java에 한정됩니다.
C와 Java에서 동일하게 초기값 부여 없이 배열을 선언하는 경우,
C에는 undefine value, garbage value 라고 불리는 무의미한 값이,
Java에는 0 값으로 초기화됩니다.
C에서 해당 문제의 코드를 돌리게 되면 앞에 알 수 없는 데이터가 출력된 후 1011이 나오게 되어, '문제 오류'가 되어버립니다.
만약 C 문제로 해당 문제를 교체하려면 출력문을
for (int i = n-1; i>=0; i--)
printf("%d", a[i]);
로 수정해야 할 것 같습니다.
행복한 하루되세요 :)
-
관리자2021-04-20 11:45:22
안녕하세요 길벗수험서 운영팀입니다.
Java에 한정됩니다.
C와 Java에서 동일하게 초기값 부여 없이 배열을 선언하는 경우,
C에는 undefine value, garbage value 라고 불리는 무의미한 값이,
Java에는 0 값으로 초기화됩니다.
C에서 해당 문제의 코드를 돌리게 되면 앞에 알 수 없는 데이터가 출력된 후 1011이 나오게 되어, '문제 오류'가 되어버립니다.
만약 C 문제로 해당 문제를 교체하려면 출력문을
for (int i = n-1; i>=0; i--)
printf("%d", a[i]);
로 수정해야 할 것 같습니다.
행복한 하루되세요 :)