一个varriable只存储了一个值,我怎样才能存储多个值?

时间:2017-06-05 05:08:57

标签: c data-structures binary-search-tree

我使用二进制搜索树在c中创建了一个程序,但在我的程序中,一个函数名称没有给我相应的结果 在我的主要功能中,我称之为功能账单,如

  bill();
  printf("Total Bill= %d",total);

此函数的实际def为

int bill()
{
        if(root==NULL)
    {
  printf("No data found");
}
else
 { 
  char q[10];
  char a[]="yes";
  int sum=0;

    struct node *temp=root;


  int no;
   printf("Enter Id of work: ");
   scanf("%d",&no);

     if(no>temp->id)
     {
             while(temp!=NULL)
        {
             if(temp->id==no)
             {
            printf("Id: %d\n",temp->id);
            printf("work: %s\n",temp->work);
            printf("Charges: %d\n",temp->charge);
            sum=+temp->charge;
            }
            temp=temp->right;
  }


      }
      else
      {
             while(temp!=NULL)
        {
             if(temp->id==no)
             {
            printf("Id: %d\n",temp->id);
            printf("work: %s\n",temp->work);
            printf("Charges: %d\n",temp->charge);
            sum=+temp->charge;
            }
            temp=temp->left;
  }  
     }


   printf("Another Work? \t Yes Or NO?\n");
   scanf("%s",q);

   if(*q=='y')
   {
        bill();

    }

     total=+sum;
   return total; 
}

 }

在这个最后的if条件下,递归函数调用另一个总和来了,我希望这两个总和应该总共存储然后返回总数但是  这个总数只存储了一个总和并返回此项。 所以请任何人帮我解决它。

1 个答案:

答案 0 :(得分:1)

您可以在C中返回array。在C ++中,您可以返回pair