프로그래밍언어/C언어[초급]
[C언어][초급] Chapter36. 함수의 반환값 – 함수가 결과를 되돌려주는 방법
about_IT
2025. 4. 18. 10:06
지금까지는 함수가 어떤 동작만 수행하고 끝나는 경우를 봤습니다.
하지만 어떤 함수는 계산된 값을 호출한 곳으로 되돌려줄 수 있습니다. 이걸 함수의 반환값(return value)이라고 합니다.
반환값이 있는 함수는 호출 후 결과를 변수에 저장하거나 직접 사용할 수 있어 매우 유용합니다.
● 반환값이 있는 함수 정의
int get_five() {
return 5;
}
return은 함수 실행을 종료하고, 결과 값을 호출한 곳에 되돌려줍니다.
● 반환값 받기
int main(void) {
int result = get_five();
printf("결과: %d\n", result);
return 0;
}
반환값을 변수에 저장하거나, 바로 printf 등에 사용할 수도 있습니다.
● return은 함수를 종료시킴
int double_num(int n) {
return n * 2;
printf("이 문장은 실행되지 않습니다.");
}
return 아래 코드는 실행되지 않습니다. 함수는 return을 만나면 바로 종료됩니다.
● void 함수는 return을 써도 값을 반환하지 않음
void say_hello() {
printf("Hello!\n");
return; // 생략 가능
}
void 함수는 값을 되돌리지 않기 때문에 return을 써도 값은 전달되지 않습니다.
함수의 반환값은 결과를 돌려주는 역할로 매우 중요하며,
프로그램의 흐름을 제어하거나 여러 계산을 나누어 처리할 때 필수적으로 사용됩니다.
이제 실습 문제로 함수의 반환값을 직접 사용해보세요!
● 실습 문제
문제 1
정수 10을 반환하는 함수 get_ten을 정의하고 호출 결과를 출력하세요.
문제 2
두 정수를 받아 곱한 결과를 반환하는 함수 multiply를 작성하고 호출하세요.
문제 3
문자 하나를 받아 그대로 반환하는 함수 get_char를 작성하고 사용하세요.
문제 4
실수 두 개를 받아 평균을 반환하는 함수 avg를 작성하세요.
문제 5
return 아래 코드가 실행되지 않는 이유를 설명해보세요.
▶ 정답 확인하기
정답 1
int get_ten() {
return 10;
}
int main(void) {
int n = get_ten();
printf("결과: %d\n", n);
return 0;
}
정답 2
int multiply(int a, int b) {
return a * b;
}
int main(void) {
int result = multiply(3, 4);
printf("곱셈 결과: %d\n", result);
return 0;
}
정답 3
char get_char(char ch) {
return ch;
}
int main(void) {
char result = get_char('Z');
printf("문자: %c\n", result);
return 0;
}
정답 4
float avg(float a, float b) {
return (a + b) / 2;
}
int main(void) {
float result = avg(2.5, 3.5);
printf("평균: %.2f\n", result);
return 0;
}
정답 5
return은 함수 실행을 종료하므로, 그 아래 있는 코드는 실행되지 않습니다.
컴파일은 되지만 해당 줄은 무시되어 실행되지 않는 죽은 코드(dead code)가 됩니다.