{ scanf(\; if(num!=0)
{ if(head==NULL) head=tail; else ② ;
tail->num=num; tail->score=a; tail->next=(struct student *)malloc(LEN); }
else tail->next=NULL; }while(num!=0); return( ③ ); }
【3.52】下面create函数的功能是建立一个带头结点的单向链表,新产生的结点总是插入在链表的末尾。单向链表的头指针作为函数值返回。 #include
#define LEN sizeof(struct student) struct student { long num; int score;
struct student *next; };
struct student *creat()
{ struct student *head=NULL,*tail; long num; int a;
tail=( ① )malloc(LEN); do
{ scanf(\; if(num!=0)
{ if(head==NULL) head=tail;
else tail=tail->next; tail->num=num; tail->score=a;
tail->next=( ② )malloc(LEN); }
else tail->next=NULL; }while(num!=0); ③ ; }
【3.53】下面程序的功能是统计文件中的字符的个数。 #include
if((fp=fopen(\{ printf(\; exit(0); }
while( ② ) { fgetc(fp); num++; }
printf(\; fclose(fp); }
【3.54】下面程序的功能是把从键盘输入的文件(用复制到一个名为second.txt的新文件中。 #include
作为文件结束标志) @ FILE *fp; main() { char ch;
if((fp=fopen( ① ))==NULL) exit(0);
while((ch=getchar())!='@') fputc(ch,fp); ② ; }
【3.55】下面程序的功能是将磁盘上的一个文件复制到另一个文件中,两个文件名在命令行中给出(假定给定的文件名无误)。 #include