C語言func如何返回多個(gè)值

小樊
93
2024-06-20 02:02:25
欄目: 編程語言

在C語言中,函數(shù)一般只能返回一個(gè)值。但是可以通過傳遞指針或者使用結(jié)構(gòu)體來返回多個(gè)值。

  1. 通過傳遞指針來返回多個(gè)值:
void func(int a, int b, int *sum, int *product) {
    *sum = a + b;
    *product = a * b;
}

int main() {
    int a = 5, b = 10;
    int sum, product;
    func(a, b, &sum, &product);
    printf("Sum: %d\nProduct: %d\n", sum, product);
    return 0;
}
  1. 使用結(jié)構(gòu)體來返回多個(gè)值:
typedef struct {
    int sum;
    int product;
} Result;

Result func(int a, int b) {
    Result result;
    result.sum = a + b;
    result.product = a * b;
    return result;
}

int main() {
    int a = 5, b = 10;
    Result result = func(a, b);
    printf("Sum: %d\nProduct: %d\n", result.sum, result.product);
    return 0;
}

通過以上兩種方法,可以實(shí)現(xiàn)在C語言中返回多個(gè)值的功能。

0