KU COSE101 2018기말고사 2번 문제
| 2016 기출 | 1번 | 2번 | 3번 | 4번 | 5번 | |
| 2017 기출 | 1번 | 2번 | 3번 | 4번 | 5번 | |
| 2018 기출 | 1번 | 2번 | 3번 | 4번 | 5번 | 6번 | 
다음 프로그램의 출력을 작성하시오.
#include<stdio.h>
void mystery(int n)
{
  if(n!=0){
    mystery(n/10);
    printf("%d",!(n%2));
  }
}
int main()
{
  mystery(23594);
  return 0;
}
정답
10001
- mystery(23594)를 실행하면 재귀함수로 계속 들어간다.
  - mystery(2359);
    - mystery(235);
      - mystery(23);
        - mystery(2);
          - mystery(0); --> if문 들어가지 않고 바로 return
        - n%2가 0이므로, 1을 출력
      - n%2가 1이므로, 0을 출력
    - n%2가 1이므로, 0을 출력
  - n%2가 1이므로, 0을 출력
- n%2가 0이므로, 1을 출력
따라서 10001이 출력된다.
Comments