倚天照海花无数,流水高山心自知。
不会吧
#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p=NULL,m,*q=NULL;
int n=0,i;
p=q=(int *)malloc(2*sizeof(int)); //申请存放个数和结束标志空间
// p++;
while(scanf("%d",&m)!=0) //输入字符则结束循环,也就是输入任何字母结束输入
{
q=(int *)realloc(q,sizeof(int));
p++;
*p=m;
n++;
}
*q=n; //动态数组第一个元素为数字个数
for(i=0;i<=n;i++)
printf("%d ",*(q+i));
}
输入 1 2 3 4 5 e(任何一个字母代表结束)
输出 5 -33686019 2 3 4 5