본문 바로가기
과목 구분 없음9급 지방직 공무원 컴퓨터일반 · 2012년05월12일 · 17/20

17.다음 C언어 프로그램의 실행 후 출력 결과로 옳은 것은?

9급 지방직 공무원 컴퓨터일반 17번 문제 이미지
1
k = 3, j = 2정답
2
k = 2, j = 3
3
k = 2, j = 2
4
k = 3, j = 3

해설

해당 코드에서 void swap(int a, int b){} 부분에서 정수 값 a, b를 받을 때 참조 형식이 아닌 값 형식으로 받고 있습니다. 해당 함수를 실행하는 경우에는 main으로부터 값을 받은 뒤 정수 a와 b의 값을 바꾸는 행동을 수행합니다. 그렇지만 반환 형식이 void이며 따로 값을 따로 반환해주지 않으므로 바꾼 값들은 함수 종료시 소멸되며 기존 main()의 입력 값은 변하지 않습니다. 따라서 k = 3, j = 2의 값이 그대로 유지되며 printf()를 사용해 출력한 경우 출력 값은 k = 3, j = 2가 됩니다.

이 시험을 직접 풀어보세요

실전과 동일한 CBT 환경에서 시간 제한 연습

회원가입 없이 CBT 풀기