对下面程序描述正确的是( )。 #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); }
对于以下程序,说法正确的是( )。 #include <stdio.h> main() { FILE *fp; fp=fopen("quiz.txt", "w"); if(fp!=NULL) { fprintf(fp,"%s\n", "success!"); fclose(fp); printf("ok!"); } }
对下面程序描述错误的是( )。 #include <stdio.h> main() { int c; FILE *fp; if((fp=fopen("file.dat","rb+"))!=NULL) { c=fgetc(fp); c=c+1;} fseek(fp,0,SEEK_SET); fputc(i,fp); fclose(fp); }
下面程序的运行结果是( )。 #include <stdio.h> union data { int i; char c; double d; }a[2]; void main() {printf("%d\n",sizeof(a)); }
以下程序的输出结果为( )。 #include <stdio.h> void main() {enum Weekday{sun=7,mon=1,tue,wed,thu,fri,sat}; enum Weekday day=wed; printf("%d\n",day); }
以下程序的输出结果是( )。 #include <stdio.h> #include <stdlib.h> typedef struct node {int data; struct node *next; }Node; Node list[4]={{4,&list[1]},{3,&list[2]},{2,&list[3]},{1,0}}; void output(Node *head) { Node *p=head; while(p!=NULL) { printf("%d ",p->data); p=p->next; } } void main() {output(list); }
阅读下面算法。说明该算法的功能。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);}