(1)用malloc或calloc函数分配一个能存储10个整型数的存储空间;
提示:p=(int*)malloc(10sizeof(int));
(2)通过scanf函数向(1)中分配的存储空间输入10个整数;
(3)再通过realloc函数将先前分配的空间扩容为可存储20整型数的大小;
提示:p=(int)realloc(p,20*sizeof(int));
(4)向扩容后的空间中再输入另外的10个整数;
(5)用printf函数输入所有的整数;
(6)最后用free函数释放存储空间。
有帮助望采纳
#include <stdio.h>
// #include <math.h>
#include <memory.h>
int main()
{
int *a = malloc(10 * sizeof(int));
for (int i = 0; i < 10; i++)
{
scanf("%d", a + i);
}
a = realloc(a, 20 * sizeof(int));
for (int i = 10; i < 20; i++)
{
scanf("%d", a + i);
}
for (int i = 0; i < 20; i++)
{
printf("%d ", *(a + i));
}
free(a);
}
你自己不都写出来了么?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
int* p = (int*)malloc(10*sizeof(int));
for(i=0;i<10;i++)
scanf("%d",&p[i]);
p = (int*)realloc(p,20*sizeof(int));
for(i=10;i<20;i++)
scanf("%d",&p[i]);
for(i=0;i<20;i++)
printf("%d ",p[i]);
printf("\n");
free(p);
p = 0;
return 0;
}