在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函数中返回多个值。在很多情况下你会发现这个技巧很有用。