我的循环打印多次。如何让它打印一次?

时间:2016-04-10 20:43:25

标签: c

我正在编写一个代码,如果输入的名称与列表中的名称不匹配,则会显示“找不到狗”。如果没有,则打印列表。

我的问题是多次打印“找不到狗”,而不只是打印一次。

代码:

void search (struct dog *list)
{
   char name[NAME_LEN+1];

   struct dog *p;

   printf("Enter dog’s name: \n");
   scanf("%s", name);

   name[0] = toupper(name[0]);
   for(p = list; p != NULL; p = p->next)
   {
      if(strcmp(name, p->dog_name) != 0)
      {
         printf("Dog not found.");
      }
      else
      {
          printf("\n");
          printf("%d \t",p->number);
          printf("%s \t",p->dog_name);
          printf("%s \t",p->breed);
          printf("%s \t",p->owner_last_name);
      }
   }
}

0 个答案:

没有答案