有关C语言的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:37:48
就是想要输入一个随机数组要怎么办,也就是说没有定义数组的大小,看你输入几个,然后输出!

使用动态内存管理
alloc()

判断输入数据是否超出内存,如果超出,使用remalloc()申请。

int n=0;
int datan=10;
int *data;
data=malloc(sizeof(int)*datan);
for(;;)
{
intputdata();
if(datan>=n)
{
datan+=10;
remalloc(sizeof(int)*datan);
}
}

给你个例子....刚写好,在tc2调试通过....

main()
{
int *array;
int index=0,i;
clrscr();
printf("\n\"O\" for end.\narray[0] = ");
scanf("%d",array);
/*输入0结束*/
while(array[index++]>0){
printf("array[%d] = ",index);
scanf("%d",&array[index]);
};
printf("\n\n\The ubound of array is %d\n\n",index);
for(i=0;i<index;i++){
printf("array[%d]=%d\t",i,array[i]);
}
getch();
}

采用数据结构中的链表结构可以实现,当有数据输入时,就将其加进链表中去.

如果是小程序,最简单的方法是建立一个大的数组,如1000。

但当输入数量到1000时就提示用户,并禁止再输入。