두 개의 숫자와 b가 있다고 가정합니다. (a + b)와 (a - b)를 모두 계산할 수 있는 함수를 정의해야 합니다. 그러나 C++에서 함수를 사용하면 최대 하나의 값을 반환할 수 있습니다. 둘 이상의 출력을 찾으려면 포인터를 사용하여 함수 인수에 출력 매개변수를 사용하고 해당 변수의 주소를 사용하여 해당 함수를 호출할 수 있습니다. 여기 이 문제에서 우리는 +b로 업데이트하고 b를 -b로 업데이트할 것입니다. 함수를 호출할 때 이 두 변수의 주소를 전달해야 합니다.
따라서 입력이 a =15, b =18과 같으면 출력은 a + b =33 및 a - b =-3
이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
solve() 함수를 정의하면 a 및 b
주소를 사용합니다. -
temp :=주소가 주어진 변수 값의 합
-
b :=주소가 주어진 변수 값의 차이
-
a =온도
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <iostream> using namespace std; int solve(int *a, int *b){ int temp = *a + *b; *b = *a - *b; *a = temp; } int main(){ int a = 15, b = 18; solve(&a, &b); cout << "a + b = " << a << " and a - b = " << b; }
입력
15, 18
출력
a + b = 33 and a - b = -3