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