Programming

(C 언어) 재귀 함수

summerorange 2022. 3. 25. 00:43
반응형
#include <stdio.h>

int f(int n) {
    int fact=1;
    if(n==1)
        fact=1;
    else
        fact=f(n-1)*n;
    return fact;
}

main() {
    int n;
    scanf("%d", &n);
    printf("%d\n", f(n));
}

이 부분에서 return 0을 넣어주지 않으면 에러남. void가 아닌 함수는 어쩌구 라는 에러가 뜸

int f(int n) {
    if(n>0)
    {
        f(n-1);
        printf("*");
    }
    return 0;
}

main() {
    int n;
    scanf("%d", &n);
    f(n);
    
}

엄... 이 부분은 원리가 살짝 헷갈림. 그래도 뭔 말인진 알겠음. 실제 응용할 수 있을 진 모르겠음

char star[20];
int f(int n) {
    if(n>0){
        f(n-1);
        star[n]='*';
        printf("%s\n", star+1);
    }
    return 0;
}

main() {
    int n;
    scanf("%d", &n);
    f(n);
    
}
반응형