第1个回答 2017-04-30
#include <stdio.h>
#include <stdlib.h>
int *Calc(int *PA, int Num);
int main()
{
int *pArray = NULL;
int Total = 0, i = 0;
printf("输入数组中元素的个数:\n");
scanf("%d", &Total);
/***********start*************/
// 分配Total+1个是保存Total个元素以及各元素的和
pArray = (int*)malloc(sizeof(int) * (Total+1));
if(pArray)
memset(pArray, 0, sizeof(int) * (Total+1));
while(i < Total) {
scanf("%d", &pArray[i++]);
}
int* pValue = Calc(pArray, Total);
printf("数组中所有元素的和:%d", *pValue);
/***********end**************/
printf("\n");
free(pArray);
}
int *Calc(int *PA, int Num)
{
/***********start*************/
int i = 0;
// 将最后的元素计算成各元素的和
while(i < Num)
PA[Num] = PA[Num] + PA[i++];
return &PA[Num];
/***********end**************/
}本回答被提问者和网友采纳