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

ส่งคืนค่าหลายค่าจากฟังก์ชัน C++


ใน C หรือ C++ เราไม่สามารถคืนค่าหลายค่าจากฟังก์ชันได้โดยตรง ในส่วนนี้เราจะมาดูวิธีการใช้เคล็ดลับในการคืนค่ามากกว่าหนึ่งค่าจากฟังก์ชัน

เราสามารถคืนค่ามากกว่าหนึ่งค่าจากฟังก์ชันโดยใช้วิธีการที่เรียกว่า "call by address" หรือ "call by reference" ในฟังก์ชันผู้เรียกใช้ เราจะใช้ตัวแปรสองตัวเพื่อเก็บผลลัพธ์ และฟังก์ชันจะใช้ข้อมูลประเภทตัวชี้ เราจึงต้องส่งที่อยู่ของข้อมูล

ในตัวอย่างนี้ เราจะเห็นวิธีการกำหนดฟังก์ชันที่สามารถส่งคืนผลหารและเศษเหลือหลังจากหารตัวเลขสองตัวจากฟังก์ชันเดียว

โทรตามที่อยู่

ตัวอย่าง

#include<iostream>
using namespace std;
void div(int a, int b, int *quotient, int *remainder) {
   *quotient = a / b;
   *remainder = a % b;
}
main() {
   int a = 76, b = 10;
   int q, r;
   div(a, b, &q, &r);
   cout << "Quotient is: "<< q <<"\nRemainder is: "<< r <<"\n";
}

ผลลัพธ์

Quotient is: 7
Remainder is: 6

โทรโดยอ้างอิง

ตัวอย่าง

#include<iostream>
using namespace std;
void div(int a, int b, int "ient, int &remainder) {
   quotient = a / b;
   remainder = a % b;
}
main() {
   int a = 76, b = 10;
   int q, r;
   div(a, b, q, r);
   cout << "Quotient is: "<< q <<"\nRemainder is: "<< r <<"\n";
}

ผลลัพธ์

Quotient is: 7
Remainder is: 6