मान लीजिए कि हमारे पास दो संख्याएँ a और b हैं। हमें एक ऐसा फलन परिभाषित करना होगा जो (a + b) और (a - b) दोनों की गणना कर सके। लेकिन सी में एक फ़ंक्शन का उपयोग करके, हम अधिकतम एक मान पर वापस आ सकते हैं। एक से अधिक आउटपुट खोजने के लिए, हम पॉइंटर्स का उपयोग करके फ़ंक्शन तर्कों में आउटपुट पैरामीटर का उपयोग कर सकते हैं। यहां इस समस्या में हम a को a+b के साथ और b को a-b से अपडेट करेंगे। जब हम फ़ंक्शन को कॉल करते हैं तो हमें इन दो चरों के पते को पास करना होगा।
इसलिए, यदि इनपुट a =5, b =8 जैसा है, तो आउटपुट a + b =13 और a - b =-3
होगा।इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
एक फ़ंक्शन हल करें () को परिभाषित करें, यह ए और बी के पते लेगा
-
अस्थायी:=चर के मानों का योग जिनके पते दिए गए हैं
-
b :=वेरिएबल के मानों का अंतर जिनके पते दिए गए हैं
-
ए =अस्थायी
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#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