对下面程序描述正确的是( )。 #include <stdio.h> #include <stdlib.h> void main() {FILE *in,*out; if((in=fopen("file1.txt","a+"))==NULL) {printf("cannot open file1\n"); exit(0); } if((out=fopen("file2.txt","a+"))==NULL) {printf("cannot open file2\n"); exit(0); } while(!feof(out)) fputc(fgetc(out),in); fclose(in); fclose(out); }
下面程序段的运行结果是( )。 int m[]={5,8,7,6,9,2},i=1; do{ m[i]+=2; } while(m[++i]>5); for(i=0;i<6;i++) printf("%d ",m[i]);
阅读下面算法。说明该算法的功能。Typedef char DataType;typedef struct node{DataType data;struct node *next;}ListNode;typedef ListNode *Linklist;Linklist what(Linklist h){/*h是无头结点的单链表的头指针*/{if(h&&h->next){q=h;h=h->next;p=h;while(p->next)p=p->next;p->next=q;q->next=NULL;h=q;}return(h);}