以下程序运行后的输出结果【 】。struct NODE{int k;struct NODE *link;};main(){structNODEm[5],*p=m,*q=m+4;int i=0;while(p!=q){p->k=++i;p++;q->k=i++;q-;}q->k=i;for(i=0;i<5;i++)printf("%d",m[i].k);printf("\n");}

以下程序运行后的输出结果【 】。

struct NODE

{int k;

struct NODE *link;

};

main()

{structNODEm[5],*p=m,*q=m+4;

int i=0;

while(p!=q){

p->k=++i;p++;

q->k=i++;q-;

}

q->k=i;

for(i=0;i<5;i++)printf("%d",m[i].k);

printf("\n");

}


相关考题:

函数Node *difference(A,B)用于求两个集合之差C=A-B,即当且仅当e是A中的一个元素,但不是B中的元素时,e是C中的元素。集合用有序链表实现,用一个空链表表示一个空集合,表示非空集合的链表根据元素之间按递增排列。执行C=A-B之后,表示集合A和B的链表不变,若结果集合C非空,则表示其链表根据元素之值按递增排列。函数append()用于在链表中添加节点。[C函数]typedef struct node{int element;struct node *link;}Node;Node *A,*B,*C;Node *append(last,e)Node *last;int e;{last->link=(Node *)malloc(sizeof(Node));last->link->element=e;return(last->link);}Node *difference(A,B)Node *A,*B;{ Node *c,*last;C=last=(Node *)malloc(sizeof(Node));while( (1) )if(A->element<B->element){last=append(last,A->element);A=A->link:}else if( (2) ){A:A->link;B:B->link;}elSe(3) ;while( (4) ){last=append(last,A->element);A=A->link:}(5) ;last=c;c=c->link;free(last);return(c);}

阅读下列程序说明和C程序,已知其输出为“1 2 3 4 5 6 7 8 9 10”。将应填入(n)处的字句写在对应栏内。[说明]本程序包含的函数及其功能说明如下:(1)函数first_insert()的功能是在已知链表的首表元之前插入一个指定值的表元;(2)函数reverse_copy()的功能是按已知链表复制出一个新链表,但新链表的表元链接顺序与已知链表的表元链接顺序相反;(3)函数Print_link()用来输出链表中各表元的值;(4)函数free_link()用来释放链表全部表元空间。[程序]include <stdio. h >include <malloe. h >typodef struct node {int val;struct node * next;} NODE;void first_insert(NODE * * p,int v){ NODE *q = (NODE *) malloe(sizeof(NODE));q-val = v; q->next = *p; /* 为新表元赋值*/* p =(1); }NODE * reverse_copy( NODE * p){ NODE * u;for(u=NULL; p!=NULL; p=p->next) first_insert((2));return u;}void printlink(NODE * p ){ for(;(3)) prinff("%d\t", p-val);printf(" \n");}void free_link( NODE * p){ NODE * u;while(p! =NULL) { u=p-next;free(p);(4); }void main( ) { NODE * link1 , * link2;int i;link1 = NULL;for(i=1; i<= 10; i+ + )first_insert(linkl, i);link2 = reverse_copy(link1 );(5);free_link( linkl ) ;free_link(link2); }

已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填______。 struct 1ink { char data; }node;A.struct link nextB.link*nextC.sluct next linkD.struct link*next

有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j 有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )A.程序有错不能运行B.输出4个NULLC.输出0 1 2 3D.输出1 1 1 1

有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x= fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0

以下程序的输出结果是( )。 union myun { struct {int x,y,z;)u; int k: }a; main { a.u.x=4;a.u.y=5;a.u.z=6; k=0; printf(%d\n",a.u.x); }A.4B.5C.6D.0

有以下程序 union myun { struct {int x,y,z;}u; int k; }a; main() { a.u.x=4;a.u.y=5;a,u.z=6; a.k=0; printf("%d\n",a.u.x); } 程序运行后的输出结果是( )A.4B.5C.6D.0

以下程序的输出结果是 union myun { struct { int x,y,z;} u; int k;} a; main() { a.u.x=4;a.u.y=5;a.u.z=6; a.k=0; printf("%d\n",a.u.x);}A.4B.5C.6D.0

以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");} 以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }A.5 4 3 2 1B.0 1 2 3 4 5C.1 2 3 4 5D.5 4 3 2 1 0