终于搞好了
题目是输入一组数字,存放在动态数组,数组第一个元素是输入数字个数,输入时以字母结束输入:
#include <stdio.h>
#include <stdlib.h>
#define M 10
void main()
{
int *p=NULL,m;
int n=0,i=0;
p=(int *)malloc(sizeof(int)); //申请存放个数和结束标志空间
*p=NULL;
while(scanf("%d",&m)!=0) //输入字符则结束循环
{
i++;
n++;
p=(int *)realloc(p,(1+n)*sizeof(int));
p[i]=m;
}
*p=n; //动态数组第一个元素为数字个数
for(i=0;i<=n;i++)
printf("%d ",*(p+i));
}