作业帮 > 综合 > 作业

下列程序的运行结果为下列程序的输出结果是_______.# include #define LEN sizeof(str

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/23 22:09:05
下列程序的运行结果为
下列程序的输出结果是_______.
# include
#define LEN sizeof(struct line)
struct line
{ int num ;
struct line *next;
};
void main( )
{ int k ;
struct line *p ,*head ;
head=NULL;
for(k=10; k>0; k--){
p=(struct line *) malloc (LEN) ;
p->num=k;
p->next=head;
head=p;
}
while((p=p->next)!=NULL){
printf("%d,",p->num) ;
p=p->next;
}
}
整个程序的运行过程是怎样的?
下列程序的运行结果为下列程序的输出结果是_______.# include #define LEN sizeof(str
for(k=10; k>0; k--){ p=(struct line *) malloc (LEN) ; p->num=k; p->next=head; head=p; }
这个循环建立了一个10个节点组成的链表.首先建立的节点是10号,此时链表中只有一个节点.
然后依次建立9,8,……2,1号节点,每次新的节点都是插入在表头,表头指针为head(和p).
while((p=p->next)!=NULL) /* 跳过一个节点后若不空,则循环 */
{ printf("%d, ", p->num) ; /* 打印此节点的数码和一个逗号 */ p=p->next; /* 移到下一节点 */ }
所以,会输出:
2,4,6,8,10