可以实现数组大小由用户键入:
#include<stdio.h>
#include<stdlib.h>
int i;
void InputArray(int *p, int n);
int ArraySum(int *p, int n);
int main()
{
int *p = NULL;
int n, sum = 0;
printf("Please enter the size of array.\n");
scanf("%d", &n);
p = (int *)malloc(n * sizeof(int)); /*向系统申请n个int型数据的内存*/
if (p == NULL) /*确保指针使用前是非空指针,否则结束程序运行*/
{
printf("No enough memory.\n");
exit(1); /*异常退出当前程序*/
}
printf("Please assign values to the array.");
InputArray(p, n);
sum = ArraySum(p, n);
printf("The data input are as follows:\n");
for (i = 0; i < n; i++)
printf("%d\t", p[i]);
printf("\n");
printf("The sum of data is %d", sum);
free(p); /*释放向系统申请的内存。*/
return 0;
}
void InputArray(int *p, int n)
{
for (i = 0; i < n; i++)
scanf("%d\t", &p[i]);
}
int ArraySum(int *p, int n)
{
int ans;
for (i = 0; i < n; i++)
ans += p[i];
return ans;
}
该程序示例展示了如何从用户那里获取数组大小,并动态分配内存来创建一个整数数组。用户随后可以输入数值填充数组,程序计算并打印数组元素的总和。程序包括内存管理,输入验证和数组操作。
1005

被折叠的 条评论
为什么被折叠?



