서브루틴: 절차 및 기능 - 2


 함수는 결과(숫자, 캐릭터 라인 등).

온라인 상점에서 제품을 주문했다고 상상해 보십시오. 프로그래밍 관점에서 일부 서브루틴을 호출했으며 절차와 달리 이 서브루틴은 결과를 반환해야 합니다. 주문한 제품을 배송합니다. 이러한 서브루틴을 함수라고 합니다.
함수는 프로시저와 정확히 같은 방식으로 형식화됩니다. 절차와의 유일한 차이점은 특수 연산자 return,
 이후 메인 프로그램으로 반환될 값이 작성됩니다.

두 정수의 산술 평균을 반환하는 함수는 다음과 같습니다.
<예비> 부동 평균(int a, int b) { 부동 평균 = (a + b) / 2.0; 8월에 돌아오다; } 메인 프로그램에서 이 함수를 호출하는 방법을 알아내야 합니다. 프로시저와 같은 방식으로 함수를 호출하면 안 됩니다. <예비> average(10, 5); 함수에서 반환된 값은 손실됩니다. 마치 온라인 상점의 상품이 누구에게도 주어지지 않고 버려지는 것과 같습니다. 고객이 좋아할 것 같지 않습니다.

결과를 변수에 저장(또는 화면에 표시)하는 것이 더 정확합니다.
<예비> float a = average(10, 5); <예비> Console.WriteLine(average(10, 5));< /코드>

종종 프로그래머는 부울 값을 true 또는 false로 반환하는 부울 함수를 사용합니다(true 또는 거짓).
이러한 기능은 속성을 확인하는 데 유용합니다.
숫자가 짝수인지 확인하는 논리 함수를 작성하는 두 가지 예를 고려하십시오.
<몸>
함수 및 프로시저 작업에 대한 마지막 참고 사항: 프로그램의 함수 및 프로시저 수 제한되지 않습니다. 또한 하나의 서브루틴은 다른 서브루틴을 호출할 수 있으며 심지어 자신을 호출할 수도 있습니다.
또한 프로그램이 함수에서 return에 도달하면 프로그램은 즉시 함수 실행을 중지하고 값을 반환합니다.
즉, 표의 두 번째 예는 다음과 같이 단축될 수도 있습니다.
<코드>부울 isEven(int n)
{
    if (n % 2 == 0) {
        반환 True
    }
    거짓 반환;
}
 

가장 좋은 방법:
식 결과
n % 2 == 0
true(true) 또는 false(false)가 됩니다.
조건문을 작성할 필요가 없습니다.
그러지 마세요.
물론 그렇게 할 수 있지만 이것은 더 긴 항목입니다.
<예비> bool isEven(int n) { 반환 (n % 2 == 0); } <예비> bool isEven(int n) { 경우 (n % 2 == 0) { true를 반환합니다.   } 또 다른 { 거짓을 반환합니다.   } }