Tech Blog/C and C++
C언어 - recursion (재귀)
EXPRESSIONS HAVE POWER
2021. 6. 17. 17:47
recursion이란
함수안에서
함수 자기 자신을 호출하는 방법이다.
1. RecursionTest
#include <stdio.h>
void RecursionTest(int count)
{
if (count == 0) // 종료 조건을 만듦. count가 0이면 다시 RecursionTest 함수를 호출하지 않고 끝냄
return;
printf("RecursionTest %d\n", count);
RecursionTest(--count); // count를 감소시켜서 다시 RecursionTest에 넣음
}
int main()
{
RecursionTest(5); // RecursionTest 함수 호출
return 0;
}
실행결과
RecursionTest 5
RecursionTest 4
RecursionTest 3
RecursionTest 2
RecursionTest 1
2. 이건 어케씀?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void printd(int n);
int main()
{
printd(231);
}
void printd(int n)
{
if (n < 0)
{
putchar('-');
n = -n;
}
if (n / 10)
{
printd(n / 10);
}
putchar(n % 10 + '0');
exit(1); // 종료조건을 안 넣으면 무한 반복하므로 넣어야 함.
}
실행결과
2
실행결과
-521 넣을시
-5