小弟的想法是,首先动态申请一个int字节内存,存个数
,然后循环输入数字,循环申请int字节内存问题是 我试了好多方法,始终写不出正确的判断输入结束的语句,望指教!谢了
,然后循环输入数字,循环申请int字节内存
2006-12-05 21:21
#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p=NULL,m=0;
int i=0,n=0;
p=(int *)malloc(sizeof(int));
*p=0;
p++;
while('EOF'!=scanf("%d",&m)) // 判断输入的结束 就在这不知道怎么写 请指教
{
p=(int *)malloc(sizeof(int));
*p=m;
n++;
p++;
}
for(i=0;i<=n;i++) //让P指向数组起点
{
p--;
}
for(i=0;i<n;i++)
{
printf("%d ",*(p+i));
}
free(p);
}

2006-12-05 21:35
有点不明白楼主的意思.不清楚要怎样的动态.
scanf("%d",&a[0]);
for(int i=1;i<=a[0];i++)
{
scanf("%d",&a[i]);
}

2006-12-05 21:38
2006-12-05 21:45
#include <stdio.h>
#include <stdlib.h>
void main()
{
int *p=NULL,x=0,m=0;
int i=0,n=0;
p=(int *)malloc(sizeof(int));
*p=0;
p++;
while(EOF!=(scanf("%d",&m))) // 判断输入的结束 就在这不知道怎么写 请指教
{
if(x==0)
{
x=m;
}
if(n>=x)
{
break;
}
p=(int *)malloc(sizeof(int));
*p=m;
n++;
p++;
}
for(i=0;i<=n;i++) //让P指向数组起点
{
p--;
}
for(i=0;i<n;i++)
{
printf("%d ",*(p+i));
}
free(p);
}

2006-12-05 21:46
2006-12-05 21:52
2006-12-05 21:57

2006-12-05 22:05
2006-12-05 22:07

2006-12-05 22:14