c언어로 쉽게 풀어쓴 자료구조 2장 연습문제
- 최초 등록일
- 2021.05.07
- 최종 저작일
- 2020.06
- 11페이지/ MS 워드
- 가격 2,000원
소개글
"c언어로 쉽게 풀어쓴 자료구조 2장 연습문제"에 대한 내용입니다.
목차
없음
본문내용
1. 팩토리얼을 계산하는 순환호출 함수 factorial에서 매개변수를 5를 주었다면, 최대 몇 개의 factorial 함수의 활성 레코드가 동시에 존재할 수 있는가?
factorial (5) -> factorial(4) 호출
factorial (4) -> factorial(3) 호출
factorial (3) -> factorial(2) 호출
factorial (2) -> factorial(1) 호출
factorial(1)부터 차례대로 함수 종료되며 최대 5개의 활성레코드 존재한다.
2. 순환호출을 하였을 경우에 활성 레코드들이 저장되는 위치는 어디인가? (4) 스택
(1) 순환호출 함수 내부
(2) 변수
(3) 배열
(4) 스택
3. 다음 중 활성 레코드에 저장되지 않는 것은 무엇인가? (4)
(1) 매개변수의 값
(2) 함수 호출이 끝나고 복귀할 주소
(3) 지역변수
(4) 순환호출의 순차번호
4.하나의 함수가 호출할 수 있는 순환호출의 개수는? (3)
(1) 1번
(2) 2번
(3) 스택이 허용하는 한도
(4) 무제한
5.다음의 순환호출 함수에서 잘못된 점은 무엇인가?
int recursive(int n)
{
if(n==1) return 0;
return n*recursive(n);
}
입력으로 1이 들어오지 않으면 계속 자신을 호출해 프로그램이 끝나지 않고 반복된다.
6. 다음의 순환호출 함수에서 잘못된 점은 무엇인가?
int recursive(int n)
{
printf(“recursive(%d)\n”,n);
return n*recursive(n-1);
}
순환을 멈추는 부분이 존재하지 않아 계속해서 함수를 호출하게 되어 프로그램이 끝나지 않는다.
7 다음함수를 sum(5)로 호출하였을 때, 화면에 출력되는 내용과 함수의 반환
int sum(int n) {
prinft(“%d \n”, n)
if(n<1) return 1;
else return (n+sum(n-1));
}
(출력) 5 , 4 , 3 , 2 ,1 , 0 (반환값)16
참고 자료
없음