在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函數中返回多個值。在很多情況下你會發現這個技巧很有用。