Language/C

C_Char07.함수

Sumni Life 2021. 5. 9. 18:24

1. 함수의 정의

  • 2개의 함수로 만든 프로그램
#include <stdio.h>

int sum(int x, int y);

int main(void)
{
    int a = 10, b = 20;
    int result;

    result = sum(a, b);
    printf("result : %d\n", result);

    return 0;
}

int sum(int x, int y)
{
    int temp;

    temp = x + y;

    return temp;
}

2. 매개변수가 없는 함수

#include <stdio.h>

int get_num(void); //함수 선언

int main(void)
{
    int result;

    result = get_num();
    printf("변환값 : %d\n", result);

    return 0;
}

int get_num(void)
{
    int num;

    printf("양수 입력 : ");
    scnaf("%d", &num);

    return num;
}

int get_num(void)
{
    return 0;
}

3. 반환값이 없는 함수

#include <stdio.h>

void print_char(char ch, int count);

int main(void)
{
    print_char('@', 5);

    return 0;
}

void print_char(char ch, int count)
{
    int i;
    if (count > 10)return;
    for (i = 0; i < count; i++)
    {
        printf("%c", ch);
    }

    return 0;
}

4. 반환값과 매개변수 모두 없는 함수

#include <stdio.h>

void print_line(void);

int main(void)
{
    print_line();
    printf("학번    이름    전공    학점\n");
    print_line();

    return 0;
}

void print_line(void)
{
    int i;

    for (i = 0; i < 50; i++)
    {
        printf("-");
    }
    printf("\n");
}

5. 재귀호출 함수

  • 무한 값 출력
#include <stdio.h>

void fruit(void);

int main(void)
{
    fruit();

    return 0;
}

void fruit(void)
{
    printf("apple\n");
    fruit();
}

6. 3번 실행되는 재귀호출 함수

  • 일반 재귀호출 함수
#include <stdio.h>

void fruit(int count);

int main(void)
{
    fruit(1);

    return 0;
}

void fruit(int count)
{
    printf("apple\n");
    if (count == 3) return;
    fruit(count +1);
}
  • 재귀호출과 반복문 차이
#include <stdio.h>

void fruit(int count);

int main(void)
{
    fruit(1);

    return 0;
}

void fruit(int count)
{
    printf("apple\n");
    if (count == 3) return;
    fruit(count + 1);
    printf("jam\n");
}