/*
* this is the test of
* C language Multi Return
*/#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
int* pool(int arrary[], int size) { //用于计算输入的数组中的所有元素的积,和
int *result;
int arr[2] = {0,1};
int i = 0;
for (i = 0; i < size; i++) {
arr[0] += arrary[i]; //把各个元素加在一起,得到的数值存储于arr[0]
arr[1] *= arrary[i]; //把各个元素都相乘,得到的数值存储于arr[1]
}
result = (int*)malloc(sizeof(int*) * 2); // 给result分配内存空间,用于存放arr[0],arr[1]中的元素的值
for (i = 0; i < 2; i++) {
result[i] = arr[i];
}
return result; //返回result的指针
}int main(int argc, char *argv[]) {
int test[] = {1,2,3,4};
int *result;
result = pool(test, 4);
printf("return 1 -> %d\n",result[0]); //得到result[0]中保存的值
printf("return 2 -> %d\n",result[1]); //得到result[1]中保存的值
return 0;
}
* this is the test of
* C language Multi Return
*/#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
int* pool(int arrary[], int size) { //用于计算输入的数组中的所有元素的积,和
int *result;
int arr[2] = {0,1};
int i = 0;
for (i = 0; i < size; i++) {
arr[0] += arrary[i]; //把各个元素加在一起,得到的数值存储于arr[0]
arr[1] *= arrary[i]; //把各个元素都相乘,得到的数值存储于arr[1]
}
result = (int*)malloc(sizeof(int*) * 2); // 给result分配内存空间,用于存放arr[0],arr[1]中的元素的值
for (i = 0; i < 2; i++) {
result[i] = arr[i];
}
return result; //返回result的指针
}int main(int argc, char *argv[]) {
int test[] = {1,2,3,4};
int *result;
result = pool(test, 4);
printf("return 1 -> %d\n",result[0]); //得到result[0]中保存的值
printf("return 2 -> %d\n",result[1]); //得到result[1]中保存的值
return 0;
}





