21xrx.com
2025-03-22 11:48:01 Saturday
文章检索 我的文章 写文章
C语言如何返回多个参数
2023-06-15 19:01:32 深夜i     14     0
C语言 返回多个参数 结构体 指针

在C语言中,一般情况下,一个函数只能返回一个值。但在某些情况下,可能需要返回多个值,例如需要计算两个数的最大值和最小值。这时候就需要使用C语言的结构体或指针来返回多个值。

使用结构体返回多个参数

可以定义一个结构体,将需要返回的多个值存储在结构体的成员变量中,然后将结构体作为函数的返回值返回。以下是一个使用结构体返回两个数的最大值和最小值的示例代码:

#include 
struct Result
  int max;
  int min;
;
struct Result findMaxAndMin(int x, int y) {
  struct Result result;
  if (x > y)
    result.max = x;
    result.min = y;
   else
    result.max = y;
    result.min = x;
  
  return result;
}
int main() {
  int a = 10, b = 20;
  struct Result result = findMaxAndMin(a, b);
  printf("Max: %d, Min: %d", result.max, result.min);
  return 0;
}

使用指针返回多个参数

另一种方法是通过指针来返回多个参数。将需要返回的多个值在函数内部赋值给指针所指向的变量,然后在函数外部通过指针获取这些值。以下是一个使用指针返回两个数的最大值和最小值的示例代码:

#include 
void findMaxAndMin(int x, int y, int* max, int* min) {
  if (x > y) {
    *max = x;
    *min = y;
  } else {
    *max = y;
    *min = x;
  }
}
int main() {
  int a = 10, b = 20;
  int max, min;
  findMaxAndMin(a, b, &max, &min);
  printf("Max: %d, Min: %d", max, min);
  return 0;
}

  
  

评论区

请求出错了