본문 바로가기

C언어/정리
C 언어 도전기 4

*함수의 형태*
1. 함수 기본
2. 반환값이 없는 함수

빌드 오류가 많이 나서 엄청 헤맸다...ㅠ.ㅠ
똑같은 줄 알았는데 void가 없고, 세미콜론이 없고...
중간에 다른 코드들이 있어서 핵심만 정리하면,

void function_without_return();

int main(void)
{
function_without_return();

return 0;
}

void function_without_return()
{
printf("반환값이 없는 함수입니다.\n");
}

3. 반환값이 있는 함수

void p(int num);

int function_with_return()

int main(void)
{
int ret = function_with_return();
p(ret);

return 0;
}

void p(int num)
{
printf("num은 %d입니다.\n", num);
}

int function_with_return()
{
printf("반환값이 있는 함수입니다.\n");
return 10;
}

 

4. 전달값(파라미터)가 없는 함수

void function_without_params();

int main(void)
{
function_without_params();

return 0;
}

void function_without_params()
{
printf("전달값이 없는 함수입니다.\n");
}

5. 전달값이 있는 함수

void function_with_params(int num1, int num2, int num3);

int main(void)
{
function_with_params(1, 2, 3);

return 0;
}

void function_with_params(int num1, int num2, int num3)
{
printf("전달값이 있는 함수이며, 전달받은 값은 %d, %d, %d 입니다.\n", num1, num2, num3);
}

6-1. 반환값과 전달값이 있는 함수

int apple(int total, int ate); // 전체 total 개에서 ate 개를 먹고 남은 수를 반환

int main(void)
{
//파라미터(전달값)도 받고, 반환값이 있는 함수
int ret = apple(5, 2); // 5개의 사과 중에서 2개를 먹었다.
printf("사과 5개 중에 2개를 먹으면? %d개가 남아요.\n", ret);

return 0;
}

int apple(int total, int ate)
{
printf("전달값과 반환값이 있는 함수입니다.\n");
return total - ate;
}

6-2. 반환값과 전달값이 있는 함수

int apple(int total, int ate); // 전체 total 개에서 ate 개를 먹고 남은 수를 반환

int main(void)
{
printf("사과 %d개 중에 %d개를 먹으면? %d개가 남아요.\n", 10, 4, apple(10, 4));

return 0;
}



int apple(int total, int ate)
{
printf("전달값과 반환값이 있는 함수입니다.\n");
return total - ate;
}

 

7. 함수를 이용한 계산기

void p(int num);

int add(int num1, int num2);
int sub(int num1, int num2);
int mul(int num1, int num2);
int div(int num1, int num2);


int main(void)
{
int num = 2;
num = add(num, 3);
p(num);

num = sub(num, 1);
p(num);

num = mul(num, 1);
p(num);

num = div(num, 1);
p(num);

return 0;
}


void p(int num)
{
printf("num은 %d입니다.\n", num);
}

int add(int num1, int num2)
{
return num1 + num2;
}

int sub(int num1, int num2)
{
return num1 - num2;
}

int mul(int num1, int num2)
{
return num1 * num2;
}

int div(int num1, int num2)
{
return num1 / num2;
}

'C언어 > 정리' 카테고리의 다른 글

C 언어 도전기 6  (0) 2022.07.03
C 언어 도전기 5  (0) 2022.07.03
C 언어 도전기 3  (0) 2022.06.28
C 언어 도전기 2  (0) 2022.06.27
C 언어 도전기 1  (0) 2022.06.27