大侠,好像不行哦!
c里面不能把数组大小定义为变量;int num[n];
13楼的别费劲了,告诉你,在c中,数组的大小一定是在声明是就决定好的了,所以你那个程序永远也不可能对.
数组大小一定是个常量,绝对不能是个变量.
要实现楼主要的功能 就用 动态分配吧,单链表可以实现.
/*说明 Elemtype 为任意的数据类型 如:int float char等 这里默认为int*/
/*单链表的节点类型node定义*/
typedef struct linknode
{
Elemtype data;
struct linknode *next;
}node;
/*建立一个单链表,输入一系列整数,以0做结束标志*/
void creat()
{
node *head,*p,*s;
int x, cycle=1; /*cycle是循环变量*/
head=(node*)malloc(sizeof(node)); /*建立头节点*/
p=head;
while(cycle)
{
scanf("%d",&x);
if(x!=0)
{
s=(node*)malloc(sizeof(node));/*建立后续节点*/
s->data=x;
p-next=s;
p=s;
}
else cycle=0;
}
p->next=NULL;
p=head;
head=heda>-next; /*删除头节点*/
free(p);
}