สมมติว่าเรามีตัวเลขสองตัว a และ b เราจะต้องกำหนดฟังก์ชันที่สามารถคำนวณ (a + b) และ (a - b) ทั้งสองอย่าง แต่การใช้ฟังก์ชันใน C++ เราสามารถคืนค่าได้ไม่เกินหนึ่งค่า ในการค้นหามากกว่าหนึ่งเอาต์พุต เราสามารถใช้พารามิเตอร์เอาต์พุตในอาร์กิวเมนต์ของฟังก์ชันโดยใช้พอยน์เตอร์ และเรียกใช้ฟังก์ชันนั้นโดยใช้แอดเดรสของตัวแปรเหล่านั้น ในปัญหานี้เราจะอัปเดต a ด้วย a+b และ b ด้วย a-b เมื่อเราเรียกใช้ฟังก์ชัน เราจะต้องส่งที่อยู่ของตัวแปรสองตัวนี้
ดังนั้น หากอินพุตเป็น a =15, b =18 เอาต์พุตจะเป็น a + b =33 และ a - b =-3
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
กำหนดฟังก์ชั่น Solve() ซึ่งจะใช้ที่อยู่ของ a และ b
-
temp :=ผลรวมของค่าของตัวแปรที่กำหนดให้ address
-
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