실행하면 예상한 결과가 나오죠. 여기서 반환값을 출력할 때 printf()문 대신 5.2.2 함수로 사칙연산하기에서 만든 p()함수를 사용해 보면 어떨까요? p()함수를 사용하려면 main()함수에서 호출해야 합니다. 이때 p()함수는 function_with_return()함수의 반환값을 출력하므로 ret 변수를 p()함수로 전달하면 됩니다.
5.3.2 반환값이있는함수.c
int function_with_return();
void p(int num); // 함수 선언
int main(void) {
int ret;
ret = function_with_return();
p(ret); // 함수 호출
return 0;
}
int function_with_return() { (중략) }
void p(int num) { // 함수 정의
printf("num은 %d입니다.\n", num);
}
p(ret); → void p(int num) → ret 변수를 p() 함수의 매개변수로 전달
실행결과 |
반환값이 있는 함수입니다. ← function_with_return() 함수에서 출력 num은 10입니다. ← p() 함수에서 출력 |
실행하면 ret 변수의 값인 10이 p()함수의 매개변수 num에 전달되어 ‘num은 10입니다.’라는 문구가 출력됩니다. 이제 반환값이 없는 함수와 반환값이 있는 함수의 차이를 알겠죠? 반환값이 있는 함수는 return 문으로 원하는 값이나 함수의 결괏값을, 함수를 호출한 곳으로 반환합니다.