我忘了continue的用法,经测试,continue可以重来 while(1) 
   while (!feof(f_receipt))
   {
         fscanf(f_receipt,"%s %f %d",&p3->name,&p3->price,&p3->num);
 
        printf("%12s%12.2f%12d%12.2f\n",p3->name,p3->price,p3->num,(p3->price) * (p3->num));
         total += (p3->price) * (p3->num);
         
         p3->next = (struct s_information *)malloc(sizeof(struct s_information));
         p3 = p3->next;
    }
   
    p3->next=NULL;