C语言中函数有多个返回值的实现

在C中,正常情况下,我们只能从函数中返回一个值。但在有些情况下,我们需要从函数中返回多个值,此时使用数组或指针能够很好地完成这样的任务。这里是一个示例,这个程序使用一个整型数组作为参数,并将数组元素的和与积返回给调用函数。下面是C代码,这是一种常见情况。下面给出实现技巧:

1.    #include
2.    #include
3.    int* Pool(int array[],int size) 
4.    { 
5.       int *x; 
6.       int i=0; 
7.       int a[2]={0,1}; 
8.       for(i=0;i
9.       { 
10.        a[0]+=array[i]; // 存储数组元素值的和
11.        a[1]*=array[i]; // 存储数组元素值的积
12.     } 
13.     // 将数组的基地址赋值给整型指针
14.     x=&a[0];  
15.     // 返回整个数组 
16.     return x; 
17.  } 
18. 
19.  int main() 
20.  { 
21.     int a[]={1,2,3,4}; 
22.     int *c; c = Pool(a,4); 
23.     printf("Sum = %d\nProduct = %d\n",c[0],c[1]); 
24.     getch(); 
25.     return 0; 
26.  }

这样,我们就知道如何使用数组和指针从C函数中返回多个值。在很多情况下你会发现这个技巧很有用。

posted @ 2020-12-14 20:26  Sean_hn  阅读(3377)  评论(0)    收藏  举报