在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<size;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 = %dnProduct = %dn",c[0],c[1]);
24. getch();
25. return 0;
26.}
这样,我们就知道如何使用数组和指针从C函数中返回多个值。在很多情况下你会发现这个技巧很有用。
除此之外,还可以使用结构体、指针等方法实现返回多个值。