인프런 커뮤니티 질문&답변

길쭈기님의 프로필 이미지
길쭈기

작성한 질문수

홍정모의 따라하며 배우는 C언어

6.18 루프 안에서 함수의 반환값 사용하기

returen result 질문입니다.

작성

·

133

0

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int compute_pow(int base, int exp);  // 아 ! 이런 함수가 있다. 라고 설명해주는 것이다.

    int main() {

        //3 4

        //3*3*3*3 = 81

        int base, exp, result;

        while (scanf("%d %d", &base, &exp) == 2)

        {

            /*result = 1;

            for (i = 0; i < exp; ++i)

                result *= base;*/

            result = compute_pow(base, exp);

            

            printf("Result = %d\n", result);

        }

        

        return 0;

    }

int compute_pow(int base, int exp)

{

    int i, result;

    result = 1;

    for (i = 0; i < exp; ++i) 

        result *= base;

    return result;

}

copute_pow 함수 안에 return result; 를 왜 하는지 모르겠습니다. 

답변 1

4

홍정모님의 프로필 이미지
홍정모
지식공유자

안녕하세요? 본 강의에서 함수를 입출력 관점에서 여러 차례 강조하고 있는데 반환값은 출력에 해당합니다.

둘째로 문법적으로 반환자료형이 선언되어 있다면 반드시 어떤 값을 반환(return)할지 지정해줘야 합니다.

마지막으로 왜 return result가 없어도 된다고 생각하시는 지를 한 번 정리해보시면 도움이 될 것 같습니다.

길쭈기님의 프로필 이미지
길쭈기

작성한 질문수

질문하기