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