Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ หาผลบวกและผลลบด้วยการเรียกฟังก์ชันแบบ Call by Address


สมมติว่ามีตัวเลข a และ b ต้องสร้างฟังก์ชันคำนวณ (a+b) และ (a-b) พร้อมกัน แต่ฟังก์ชันคืนค่าได้แค่ค่าเดียว จึงใช้ output parameters ด้วย pointer เรียกฟังก์ชันส่ง address ของตัวแปร อัปเดต a = a+b, b = a-b

เช่น a = 15, b = 18 ผลลัพธ์: a + b = 33 and a - b = -3

ขั้นตอนการแก้ปัญหา

  • ฟังก์ชัน solve(int *a, int *b):
    • temp = *a + *b
    • *b = *a - *b
    • *a = temp
  • ใน main เรียก solve(&a, &b)

ตัวอย่างโค้ด

#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