Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cách trả về nhiều giá trị từ hàm trong C/C++

Trong C/C++, không thể trả về nhiều giá trị trực tiếp từ hàm. Dùng kỹ thuật "call by address" hoặc "call by reference". Hàm gọi dùng 2 biến lưu kết quả, hàm nhận con trỏ, truyền địa chỉ biến.

Ví dụ: hàm trả về thương và dư sau khi chia 2 số.

Ví dụ

#include <stdio.h>

void div(int a, int b, int *quotient, int *remainder) {
    *quotient = a / b;
    *remainder = a % b;
}

int main() {
    int a = 76, b = 10;
    int q, r;
    div(a, b, &q, &r);
    printf("Quotient is: %d\nRemainder is: %d\n", q, r);
    return 0;
}

Kết quả

Quotient is: 7
Remainder is: 6